go 函數
package main import "fmt" //可變長參數 func test(args... int){ for i:=0;i<len(args);i++{ fmt.Println(args[i]) } } //指針傳參,可以內部變量修改外部變量,也可以減少值復制 func test2(num *int){ *num=30 } //函數也是一種數據類型,可以賦值給一個變量,賦值給變量之后調用變量就相當于調用函數 func test3(num int){ fmt.Println(num) }
//返回值重命名
func test5(num int,num2 int)(sum int,sub int){
sum=num+num2
sub=num-num2
return
}
func main(){ test() fmt.Println("--------------------") test(2,3,5) fmt.Println("--------------------") test(23,23,25,67,34) fmt.Println("--------------------") var num int=10 test2(&num) fmt.Println(num) a:=test3 fmt.Printf("a的類型是:%T, test函數的類型是:%T \n",a,test) a(100)
sum,sub:=test5(5,3)
fmt.Printf("sum 是:%d, sub 是:%d \n",sum,sub)
//匿名函數
result:=func (num1 int ,num2 int) int{
return num1+num2
}(10,90)
fmt.Printf("result 是:%d \n",result)
}
輸出如下
--------------------
2
3
5
--------------------
23
23
25
67
34
--------------------
30
a的類型是:func(int), test函數的類型是:func(...int)
100
sum 是:8, sub 是:2
result 是:100

浙公網安備 33010602011771號