在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1: 函数形式: Swift函数以关键字func 标示。返回类型->后写明。如果没有返回类型可以省去。多个参数用,分割。其中参数名字在前:类型描述 func GetName(strName:String)-> String { return "for " + strName } let name = GetName("xx") println("\(name)") 2:函数返回值:函数返回值用->后跟类型说明符号。函数的多返回值。可以用元组返回复合多值。当然也可以没有返回值。 func TestNoneReturn(strName:String) { println("\(strName)") } TestNoneReturn("xx ")
func TestReturn(strName:String)->String { return strName + "hello" } let showName = TestReturn("xx ") println("\(showName)")
func TestTupleReturn(iAge:Int, strName:String)->(iAgeAdd:Int, strNameFormat:String) { let iAgeReturn :Int = iAge + 90 let strNameReturn :String = " xx oo " + strName; return (iAgeReturn, strNameReturn) } let tupleReturn = TestTupleReturn(3, "yang ") println("\(tupleReturn.iAgeAdd) \(tupleReturn.strNameFormat)") 3:函数参数 3.1函数参数默认为let类型的。如果你想更改参数副本,那么你要显示使用var修饰。当然也可以不需要参数的函数。如果你像更改参数作为输入输出用inout,调用时候要用取地址符号& func GetName(var strName:String)-> String { strName += " hello" return "for " + strName } let name = GetName("xx") println("\(name)") func GetName(inout strName:String) { strName += " hello" } var strTest = "oo" GetName(&strTest) println("\(strTest)") 3.2函数参数名字。函数形参名字有本地形参和外部形参之分。 func someFunction(externalParameterName localParameterName: Int){
}
func TestName(strHead:String, strTail:String, strInsert:String)->String{ return strHead + strInsert + strTail } let strRes:String = TestName("head ", "tail ", "insert ") println("\(strRes)")
func TestName(head strHead:String, tail strTail:String,insert strInsert:String)->String{ return strHead + strInsert + strTail } let strRes:String = TestName(head:"head ", tail:"tail ", insert:"insert ") println("\(strRes)") 如果你外部和本地形参名字一样,那么你可以用#简写。 func TestSameName(#name:String, #age:String)->String{ return "name: " + name + "\nage: " + age } let strRes = TestSameName(name:"xx", age:"30") println("\(strRes)") 3.3函数参数默认值:如果设置了函数默认值,那么在调用的时候可以省去默认值的调用。 func TestDefaultParam(name:String, defaultName:String = " defaultNM"){ let nameRes = “\n” + name + defaultName; println(nameRes) } TestDefaultParam("mm") TestDefaultParam("xx", defaultName:" oo") 3.4 可变形参:用"..."代表可变形参。类型一样 func TestMore(numbers:Int...){ var iRes:Int = 0 for item in numbers { iRes += item } println("\(iRes)") } TestMore(1,2,4) TestMore(1,2,4,5,6)
4:函数类型:由函数参数类型与顺序以及函数返回值类型 func(iAge:Int, strName:String)->String { return "KO" } //该函数类型可以记为:(Int, String)->String 在 swift 中您可以像任何其他类型一样的使用函数类型。例如,你可以定义一个常量或变量 为一个函数类型,并为变量指定一个对应函数 func AddTwoInts(a: Int, b: Int) -> Int { return a + b } var AddFunction:(Int, Int)->Int = AddTwoInts let AnotherMathFunction = AddTwoInts var iOther = AnotherMathFunction(5, 6)
函数类型可以作为函数参数使用 func PrintMathResult(MathFunction: (Int, Int) -> Int, a: Int, b: Int) { 2. println("Result: \(MathFunction(a, b))") 3. } 4. PrintMathResult(AddTwoInts, 3, 5) 函数类型也可以作为返回类型 func FunctionTest(a:Int, b:Int)->(Int, Int) -> Int{
}
|
请发表评论