Swift中的函数
2019-10-08 本文已影响0人
下班不写程序
1.使用func 函数名()
2.一些自定义的点击事件等需要在 func前面添加 @objc.
1. 无参数 无返回值的 函数
// 格式: func 函数名称() {代码逻辑}
func num(){
print("无参数, 无返回值的函数")
}
2.有参数 无返回值 的函数
// 格式: func 函数名称(外部参数 内部参数: 参数类型...) {代码逻辑}
func sum1(num1 a: Int, num2 b: Int){
// 当封装公共代码的时候, 外界调用是这样的 sum1(num1: <#T##Int#>, num2: <#T##Int#>), 也就是说,外界使用的是外部参数, 我自己可以随便的修改自己的内部参数, 还不会对其他使用的人造成影响, 其实就是自己在和自己玩, 装逼而已. (注: 外部参数可以省略不写)
print(a, b)
}
// 省略之后的写法 -- 也是最常用的写法
func sum2(a: Int, b: Int){
let result = a + b
print(result)
}
// 以下两种方法也是 有参数 无返回值的函数的写法, 了解即可.
func sum3(a: Int, b: Int) -> Void{
}
// 或
func sum4(a: Int, b: Int) -> (){
}
3.有参数 有返回值 的函数
// 格式: func 函数名称(内部参数: 参数类型...) -> 返回值类型 {代码逻辑 return 返回值}
func sum(a: Int, b: Int) -> Int{
return a + b
}
4.拓展:函数的预加载
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
demo()
}
func demo(){
// demo1() // 在这里调用,应用程序就会报错: Use of local variable 'demo1' before its declaration 释义:在声明前使用局部变量“demo1”, 意思就是说,没有声明, 你就是使用了, 不可以
func demo1(){
print("demo1")
}
demo1() // 在这里调用,程序就正常运行
}
/* 问: 当在整个Vc下面, 就算写在viewDidLoad下面的函数, 在viewDidLoad里面也能调用, 为什么在其它的自定义函数中就不可以了呢???
分析: 类中的方法, 在类实例化的时候全部都预加载了, 就等待着被使用; 但是方法中的方法(函数套函数, OC中是不可以的), 是没有进行预加载的, 只能从上往下执行, 除非在最上面做一下引用.
*/