函数

2016-09-01  本文已影响0人  彼岸的黑色曼陀罗

函数

func 函数名(参数类别) ->返回值类型{
   代码块
   return 返回值
}
func about ()->Void{
  print("iphone7")
}
//调用函数
about()
//简便写法
func about(){
  print("iphone7")
}
func callPhone(phoneNum: String){
    print("打电话给\(phoneNum)")
    print("打电话给:"+phoneNum)
}
callPhone("+ 86 110")
func newMessage() ->String{
  return "吃饭了吗"
}
newMessage()
func addNums(num1 :Int,num2 :Int)->Int{
   return num1 +num2
}
let result = addNums(20,num2:30)

函数的使用注意(了解)

func sum(num1 :Int ,num2: Int)->Int{
   return num1 + num2
}
sum(20,num2 :30)
//把num1变为外部参数
func sum(num1 num1 :Int ,num2: Int)->Int{
   return num1 + num2
}
sum(num1 :20,num2 :30)
//都不是外部参数
func sum(num1 :Int , _ num2: Int)->Int{
   return num1 + num2
}
sum(20,30)
func makeCoffee (coffeeName:String = "雀巢")->String{
   return "制作了一杯爱心\(coffeeName)咖啡"
}
let coffee1 = makeCoffee("拿铁")
makeCoffee("摩卡")
makeCoffee()
func sum(num1 :Int ,num2 :Int)->Int {
    return num1 +num2
}
sum(20,num2:30)
//把四个、十个数字相加
//可变参数
func sum (nums :Int...)->Int{
   var total = 0
   for num in nums{
    total += num
   } 
}
sum(20,30,40,50)
//print()也是可变函数,参数是可变的
print()
var m = 20
var n = 30
-->报错:常量是不能修改的
func changeNum(num1:Int , num2 :Int){
let temp = num1 
num1 = num2 
num2 = temp 
}
-->报警告,值传递,本质上不会交换m/n
func changeNum( var num1:Int , num2 :Int){
let temp = num1 
num1 = num2 
num2 = temp 
}
changeNum(m,num2:n)
-->指针传递:
func changeNum(inout num1 :Int ,inout num2 :Int){
let temp = num1 | num1是地址,在等号右边,相当于取值
num1 = num2 |赋值到num1的地址里,把num1里的值改num2
num2 = temp |把temp的值赋值到num2的地址里
}
change(&m,num2 :&n)
func demo(){
  func test(){
  func test1(){
    print("test1")
  }
    print("test")
  }  
print("demo")
   test() | 先打印demo再打印test
}
demo

函数的类型

func sum(num1 :Int ,num2 :Int)->Int{
return num1 +num2
}
func multiply(num1 :Int ,num2:Int)->Int{
return num1 * num2
}
var abc :(Int ,Int)->Int = sum
abc = multiply
abc(20,30)
//函数作为方法的参数,把函数以参数的形式传到另外一个地方
func printResult(cba :(Int ,Int)->Int){
print(cba(20,30))
}
printResult(sum)
上一篇下一篇

猜你喜欢

热点阅读