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

 

 

posted @ 2024-08-23 10:53  fsl  阅读(1)  评论(0编辑  收藏  举报