swift 初级 函数
2015-10-27 11:34
253 查看
①函数
(有返回值)的定义格式:
注意:无论函数有无形参,必须得有”()"
func 函数名(形参列表) - >返回值类型{
//函数体
}
比如
func
sum(num1:Int
,num2:Int) ->Int{
return
num1+num2
}
②没有返回值的函数
有三种写法
func 函数名(形参列表)->Void {
//函数体
}
比如
func
text1 (sum1:Int) ->Void
{
print("********”)}
稍微简单点的写法
func 函数名 (形参列表) ->{
//函数体
}
func
text2 (sum1:Int) ->(){
print("******")
}
最简单的写法
func 函数名(形参列表){
//函数体
}
③返回元组类型
swift 函数也可以返回元组函数
比如:
func
text3 (vanlue:Int) ->(name:NSString
, age:Int){
if
vanlue == 0
{
return
("zhangsan",22)
}else{
return
("lisi",239)
}
}
var
perple = text3(1)
perple.1
④ 外部参数名
de29
一般情况下通过参数的名字就能够推断出这个参数的含义和作用
func addSudent(name:String,age:Int,Nob:Int){
...
}
在函数的内部看参数名就能知道这三个参数的作用
但是在使用函数的时候,函数的第一个参数就不看不到参数的名字导致以后不知道此参数的含义
addStude
nt(“jack”,age:20,Nob:19)
为了解决这个问题,swift提供了外部参数名语法
外部参数名定义的格式为:
func 函数名(外部参数名 形式参数名:形式参数类型)->返回值类型{
函数体
}
这样添加上外部参数名之后在使用函数的时候就参数的头部就会显示其函数参数名字的信息了
⑤ swift中的默认参数值
swift中可以在定义函数时,给形参指定一个默认值,调用函数时,就可以不用给这个形参传值
比如:
func addSudent(name:String,age:Int
= 20){
print("添加学生:name=\(name),age=\(age)");
}
addSudent("jack”)
//这样也不会报错,如果想修改age属性的值,可以这样:addSudent("jack",age:34)
而且默认情况下,函数的参数都是常量参数,不能在函数内部修改
func text(num:Int){
num = 10 //这样赋值是错得
}
如果想修改属性的参数 可以这样
func text(var num:Int){
num = 10 //这样赋值是错得
}
⑥ 输入输出函数
在C语言中,利用指针可以在函数的内部修改外部变量的值,但在swift中,利用输入输出参数,也可以在函数的内部修改外部变量的值,输入输出参数,顾名思义,能输入一个值进来,也可以输出一个值到外部
定义:在参数名前面加个inout关键字即可
比如交换两个变量的值
func swap(inout
num1:Int,inout
num2:Int){
let c = num1
num1 = num2
num2 = c
}
var a=10
var b=20
swap(&a,
&b)
注意:
1.传递实参时,必须在实参的前面加上&
2.不能传入常量货值字面量(比如10)作为参数值(因为他不可修改)
3.输入输出参数不能有默认值
4.输入输出参数不能是可变参数
5.输入输出参数不能再使用let var修饰
(有返回值)的定义格式:
注意:无论函数有无形参,必须得有”()"
func 函数名(形参列表) - >返回值类型{
//函数体
}
比如
func
sum(num1:Int
,num2:Int) ->Int{
return
num1+num2
}
②没有返回值的函数
有三种写法
func 函数名(形参列表)->Void {
//函数体
}
比如
func
text1 (sum1:Int) ->Void
{
print("********”)}
稍微简单点的写法
func 函数名 (形参列表) ->{
//函数体
}
func
text2 (sum1:Int) ->(){
print("******")
}
最简单的写法
func 函数名(形参列表){
//函数体
}
③返回元组类型
swift 函数也可以返回元组函数
比如:
func
text3 (vanlue:Int) ->(name:NSString
, age:Int){
if
vanlue == 0
{
return
("zhangsan",22)
}else{
return
("lisi",239)
}
}
var
perple = text3(1)
perple.1
④ 外部参数名
de29
一般情况下通过参数的名字就能够推断出这个参数的含义和作用
func addSudent(name:String,age:Int,Nob:Int){
...
}
在函数的内部看参数名就能知道这三个参数的作用
但是在使用函数的时候,函数的第一个参数就不看不到参数的名字导致以后不知道此参数的含义
addStude
nt(“jack”,age:20,Nob:19)
为了解决这个问题,swift提供了外部参数名语法
外部参数名定义的格式为:
func 函数名(外部参数名 形式参数名:形式参数类型)->返回值类型{
函数体
}
这样添加上外部参数名之后在使用函数的时候就参数的头部就会显示其函数参数名字的信息了
⑤ swift中的默认参数值
swift中可以在定义函数时,给形参指定一个默认值,调用函数时,就可以不用给这个形参传值
比如:
func addSudent(name:String,age:Int
= 20){
print("添加学生:name=\(name),age=\(age)");
}
addSudent("jack”)
//这样也不会报错,如果想修改age属性的值,可以这样:addSudent("jack",age:34)
而且默认情况下,函数的参数都是常量参数,不能在函数内部修改
func text(num:Int){
num = 10 //这样赋值是错得
}
如果想修改属性的参数 可以这样
func text(var num:Int){
num = 10 //这样赋值是错得
}
⑥ 输入输出函数
在C语言中,利用指针可以在函数的内部修改外部变量的值,但在swift中,利用输入输出参数,也可以在函数的内部修改外部变量的值,输入输出参数,顾名思义,能输入一个值进来,也可以输出一个值到外部
定义:在参数名前面加个inout关键字即可
比如交换两个变量的值
func swap(inout
num1:Int,inout
num2:Int){
let c = num1
num1 = num2
num2 = c
}
var a=10
var b=20
swap(&a,
&b)
注意:
1.传递实参时,必须在实参的前面加上&
2.不能传入常量货值字面量(比如10)作为参数值(因为他不可修改)
3.输入输出参数不能有默认值
4.输入输出参数不能是可变参数
5.输入输出参数不能再使用let var修饰
相关文章推荐
- Apple Swift学习教程
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究