函数就是实现某些特定功能的模块板块,通过函数名调用(起函数名最好起的最好可以通过函数名就基本知道这个函数是干嘛的,不要嫌麻烦,可以多写点),可以定义一个或多个参数名,参数类型,然后可以有返回类型,当通过函数名调用(“call”)函数的时候,我们传递的参数类型要和函数定义的参数类型一致
我们定义一个sayHello(_:)的的函数,因为这就是这个函数的功能,传入一个人名,返回的是和这个人打招呼。为了完成这个,我们需要一个String类型的传入参数,叫做personName,一个和那个人打招呼的返回值,代码如下
override func viewDidLoad() { super.viewDidLoad() // func geet(preson:[String:String]){ // guard let name = preson["name"] else{ // print("Hello") // return // } // print("Hello\(name)!") // } // // geet(["name":"xiaoyu"]) // geet(["dfdfdf":"a"]) sayHello("xiaoyu") } func sayHello(personName:String) -> String{ let greeting = "Hello," + personName + "!" print(greeting) return greeting }
(注释的代码是我看控制流时写的,guard和else要成对出现另外,guard后面执行必须是正确的,而不是像if一样,else可以不出现,个人觉得swift出这个就是相对if而言的,在符合要求的后面,这个可以给我们更多的关于不符合要求的操作(violated requirement),在else里面我们可以写错误信息,也可以break,continue,throw,fataError()等等,这个不太会实践,假如你理解的更好,可以在下面附上一段代码,大家共同学习)好了,言归正传吧,解释下上面的函数
(1)func 就是函数关键字,这个就不用多说了吧
(2)sayHello是函数的名字,也就是函数的标示符,调用的时候你好找得到
(3)presonName就是参数的名字,String就是参数的类型,中间用:号分开(C语言的是先试类型,后面跟着参数的名字,如int a,多个参数也都是用,号分割)
(4)->表示函数的返回值,String表示返回值的类型
这个函数已经写好了,当我想和somebody打招呼的时候就可以调用了,通过函数的名字,如上面的代码一样
上面的代码也可以简化一下
print(sayHello("xiaoyu")) } func sayHello(personName:String) -> String{ // let greeting = "Hello," + personName + "!" // print(greeting) return ("Hello,\(personName)!") }今天就到这里吧,下次我会写函数的参数和返回值,敬请期待,谢谢