自学Swift之方法声明

  • 在 Swift 中声明方法的关键字 是 func
- 格式 `func 函数名称(参数...) -> 返回类型`
- 没有返回值的话 `-> ` 它以及后面的类型是不需要的
  • 函数的声明
    • 没有参数,没有返回值

func sayHello()
{
print("hello word")
}

    - 有参数,没有返回值
        * ````objc
func sayHello(name: String)
{
           print("hello, \(name)")
}
// 参数可以添加默认值
func sayHello(name: String = "Swift")
{
           print("hello \(name)") // 不传递参数使用默认值
}
- 有参数,有返回值
    * ````objc

func sayHello(name: String) -> String
{
return "hello, (name)"
}
print(sayHello("Swift")) // 输出 hello, Swift

    - 可变参数
        * ````objc
func test(number:Int...) // 类型后面加上...  number的类型会成为一个Int类型的数组
{
                for num: Int in number
                {
                    print(num)
                }
}
test(1,2,3,4,5)  // 循环输出 1   2   3   4   5 

  • 函数作为参数或者返回值
// 函数作为参数或者返回值
// swift 能使用中文当做方法名或者变
func 加法(a: Int, b: Int) -> Int   量名
{
    return a + b
}
func 减法(a: Int, b: Int) -> Int
{
    return a - b
}

var 加 = 加法     // 加上() 是调用方法


// 方法作为参数
func test(a: Int, b: Int, function: (Int,Int) -> Int ) -> Int
{
    return function(a,b)
}
print(test(10, b: 1, function: 加))


// 方法作为返回值
func test(a: Int, b: Int, isTrue: Bool) -> Int
{
    return isTrue ? 减法(a, b: b) : 加法(a, b: b)
}
print(test(10, b: 20, isTrue: false))

在方法内部改变外面参数的值使用到的关键字是 inout

var number = 1
func test(inout a:Int)
{
    a = 100
}
test(&number)   // 发现方法参数前面出现了 `&`,取地址符,有oc功底的人应该明白 inout关键字的实现方式了吧...没错就是地址传递!
print(number)   // 输出 100

为参数起 别名

func sayHello(姓名 name: String) //`姓名`就是`别名`
{
    print("hello \(name)")
}
sayHello(姓名: "Swift")       // 调用方法的时候`别名`不能省略
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容