首页投稿(暂停使用,暂停投稿)

swift- 函数的创建

2016-06-12  本文已影响113人  蹲在路口的男孩丶

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

// 无参无返回值

//        demo1()

//        demo2()

//        demo3()

// 有参数无返回值

//        lengthOfString(a: "1111", b: "2222")

// 无参数有返回值

//        let str = demo()

//        print(str)

// 有参数有返回值

//        let str =  demo6(a: "323", b: "121")

//        print("str = \(str)")

// 闭包

// 1.无参无返回值

//        closure()

// 2.有参数有返回值

//        closure1("123")

// 3.无参数有返回值

//        let str =  closure2()

//        print(str)

// 4.有参数有返回值

//        let str1 = closure3("123","456")

//        print(str1)

let length = newStringLength("world") { (a) -> String in

let b = "hello\(a)"

return b

}

print("length = \(length)")

}

// swift 里面允许函数嵌套,并且外部不可见

// 调用的时候尽量不采用 self

// 类名调用的函数前面加上 class

// 如果一个类只要求在本类中调用,不希望外部可见,就加上 private,UI 空间的响应时间不要加上 private 修饰

// 无参无返回值

// 格式: func 函数名 (){}

func demo1(){

print("无参无返回值1")

func demo4(){

print("------------")

}

demo4()

}

func demo2()->(){

print("无参无返回值2")

}

func demo3()->Void{

print("无参无返回值3")

}

// 有参数无返回值

// 格式: func 函数名 (外部返回参数 参数:参数类型...){}

// 非第1个参数如果没有外部访问参数的话会将形参当成外部访问参数

func lengthOfString(a str1:String,b str2:String){

print("\(str1)和\(str2)的长度是\(str1.characters.count + str2.characters.count)")

}

// 无参数有返回值

func demo()->String{

return "66666"

}

// 有参数有返回值

// 格式: func 函数名(参数列表...)->返回值类型{}

func demo6(a a:String,b:String)->String{

let c = "\(a)\(b)"

return c

}

//    闭包

// 闭包相当于 C 里面的 block,封装了一段有特定功能的代码块

// 闭包一样可以当成函数参数

// 闭包的格式:

/*

{

(参数列表...)->返回值类型

in

闭包里面执行的代码块

}

*/

// 无参数无返回值

let closure = {

()->()

in

print("这是一个无参无返回值的闭包")

}

// 有参数有返回值

let closure1 = {

(str:String)->()

in

print("这是一个输入参数为\(str)的闭包")

}

// 无参数有返回值

let closure2 = {

()->Int

in

let string = "666666"

return string.characters.count

}

// 有参数有返回值

let closure3 = {

(str1:String,str2:String)->Int

in

let string = "\(str1)\(str2)"

return string.characters.count

}

// 定义一个函数:两个输入参数,其中一个是闭包,闭包的功能,是将输入的第一个参数拼接上 Hello, 返回一个新的字符串.函数的功能返回新字符串的长度

func newStringLength (str:String,closure4:(a:String)->String)->Int

{

let str = closure4(a: str)

return str.characters.count

}

上一篇下一篇

猜你喜欢

热点阅读