swift入门->函数

这一章来看看swift的函数声明与调用

函数声明 func 函数名(参数)->返回类型{函数代码块}

我们来声明一下

//无参无反
func test(){
    print("asdfa");
}
//有参有反
func test1(a:Int)->Int{
   return ++a
}
//有参无反
func test2(a:Int){
   print(a)
}
func test(a:Int)->Void{
    print(a);
}
//无参有反
func test()->Int{
   return 1
}

函数基本的四个类型就是这样,很简单

来看看swift特殊的地方

外部名

当swift函数有多个参数时写法与其他语言有所区别

func test5(a: Int ,b:Int) ->Int {
    return a+b
}
test5(5, b: 3)

注意下  这里调用时有什么不同?   多了个b:  对,这就是外部名这个外部名是可变的,针对的是调用者而言  你可以把b改成s或任意变量名(符合变量命名规范)

func test5(a: Int ,s b:Int) ->Int {
    return a+b
}
test5(5, s: 3)

这样就把外部名改成了s   第一个变量是不用外部名的,当然你也可以给他加一个   就像刚才给b的变量名改成s一样

默认值

这个就是字面上意思   参数有一个默认值,声明函数的时候设置

func test6(a: Int = 5,b:Int = 5) ->Int {
    return a+b
}test6()
test6(5)
test6(b: 3)
test6(5, b: 3)

如果这个函数参数声明了默认值 则会有这么多种调用方式(没给的参数则会用默认的)

这里注意几点

1.有默认值的情况,参数统统都放在后面

2.调用时参数顺序,尽量与声明函数时的顺序一样

修饰

默认情况下形参参数类型是let常量,如果需要修改则自行加上var

如果需要引用传值则加inout

fun test7(a:Int){
  //a=3(报错)
  print(a)
}
fun test8(var a:Int){
  a=3
  print(a)
}
fun test8(inout a:Int){
  a=3
  print(a)
}
var a = 5
test8(a)
a

可变参数长度

func add(initNum: Int,numbers:Int...)->Int {
    var totals = initNum
    for num in numbers {
        totals += num
    }
    return totals
}
add(5,numbers: 6)
add(6,numbers:2,4,3)

写法如上第二个参数,不管多少个int类型参数都会集合起来作为numbers数组

时间: 2024-10-04 15:41:56

swift入门->函数的相关文章

swift入门篇-函数

今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点.废话不多说,直接开始了. 1:函数  --常量参数 func 函数名( 参数变量:类型 ,参数变量:类型...){} 说明: 1: func 是函数关键字 2:{} 函数体 3: 参数变量是默认常量类型,不能在函数函数体里面直接修改 即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量. 例子 /*

Swift入门篇-闭包和函数

今天主要是给大家分享的是 swift中闭包的用法,我个人觉得闭包就是函数的简写方法,如果您函数不是很熟悉请查阅 swift入门篇-函数 1:函数类型 函数类型 var 变量 :(类型)->返回值 =函数名 说明: 1:函数名 表示函数地址 2:(类型)->返回值 表示函数类型 3:函数类型必须和函数名的参数和返回值一致 例子 /* 1:func 是函数关键字 2:Say是函数名,表示函数的地址 3:Say函数 参数是整形 返回值为布尔类型 */ func Say(num:Int)->Bo

IOS开发语言Swift入门连载---函数

IOS开发语言Swift入门连载-函数 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被"调用". Swift统一的函数语法足够灵活,可以用来表示任何函数,包括从最简单的没有参数名字的 C 风格函数,到复杂的带局部和外部参数名的 Objective-C 风格函数.参数可以提供默认值,以简化函数调用.参数也可以既当做传入参数,也当做传出参数,也就是说,一旦函数执行结束,传入的参数值可以被修改. 在 Swift

Swift入门(五)——数组(Array)

集合 集合的定义 Swift中提供了两种数据结构用于存放数据的集合,分别是数组(Array)和字典(Dictionary).他们的主要区别在于数组中的元素由下标确定,而字典中的数据的值由数据的键(Key)决定.以下我们认为集合就是数组或字典. 集合的可变性 我们可以定义一个集合常量或者集合变量.一旦定义为常量,就意味着集合的长度.内容和顺序都不能再修改了.比如,定义为常量的数组,不能再向其中添加新的元素. 数组的创建 由于swift中变量的创建遵循" var 变量名:变量类型 "的语法

Swift入门篇-集合

一:数组 一:可变数组 定义:数组使用有序列表存储相同类型的多重数据. 格式: 第一种格式 var 变量: 类型[] = [变量值,变量值,...] 第二种格式 var 变量 =[变量值,变量值,...] 说明: 1:[变量值,变量值...] 这样表示数组 ,前提是 变量值的类型必须一值.(和其他语言有所不同) 2:上面两种格式都是定义一个数组,数组中的变量值的类型必须一致 3:第一种格式定义的数组,是直接定义数组,第二种格式定义的数组 是编译器通过类型值推导出是数组格式 注意点 1:常量关键字

Swift入门(四)——可选类型(Optionals)与断言(Assert)

可选类型是什么? 首先看一个问题,Swift中String类型的变量有一个叫做toInt的方法,可以把String类型变量转换为Int类型变量. var stringValue = "5" var intValue = stringValue.toInt(); println("intvalue = \(intValue)") 执行以上方法后得到了奇怪的结果: intvalue = Optional(5) 其实,可以发现,toInt方法的返回值并不是Int,而是In

Swift入门教程:基本语法大全

原文:Swift入门教程:基本语法大全       简介:                                                                                                                                                                                  什么是Swift                                  

Swift入门篇-Hello World

提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要升级系统和升级开发工具和去啃苹果开发文档,也时常关注一些写swift的文章.自己也边学swift,边做了一些小例子玩.个人感觉语法精炼,用起来还是很爽的. 但是个人觉得开发工具还是有很多不足(如自动提示有时候不出现),希望苹果在发布正式版的时候能修复的更好一点,在后面我会把我犯错的经历写下来. 今天

Swift入门篇-基本类型(1)

博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 今天遇到了一个很烦的事情是,早上10点钟打开电脑,一直都进入系统(我的系统  mac OS X Yosemite 10.10 系统),一直卡在登陆界面上进不去,心里想苹果新系统这么脆弱,现在很多软件不兼容就算了,搞的我还进不了系统,真是郁闷.然后在google 上搜索,google也打不开(真是悲催, 据说"组织" 要开会,大家先不要用google).然后用"度娘"搜索,搜了半天,终于找到