美文网首页
Golang筑基 ——函数

Golang筑基 ——函数

作者: 鬼厉 | 来源:发表于2020-06-29 16:37 被阅读0次

定义

golang函数的定义:

func 函数名(参数) 返回参数{
  //函数体
}

特点

在golang中至少有一个main函数
每个包只能有一个main函数
golang函数的功能相比于C/C++更便捷,golang函数可以返回多个值,这极大地方便了使用

1. golang函数可以返回多个值

下面的函数返回了int 和error两个值,利用这个特性我们就可以判断函数内的执行情况,并做出决策,终止运行或者返回错误。

func GetData() (int, error){
  return 0, nil
}
2. golang的函数均包含 func 关键字
3. golang支持匿名函数(即闭包)

匿名函数就是没有名字的函数,其用途有以下几种:

1.匿名函数赋给变量
// 匿名函数赋给变量
data := func(a int){
   fmt.Println("a is %d", a)
}
fmt.Println(data(10))

//输出
a is 10
2.用作回调函数
// 遍历切片的每个元素, 通过给定函数进行元素访问
func visit(list []int, f func(int)) {
    for _, v := range list {
        f(v)
    }
}
func main() {
    // 使用匿名函数打印切片内容
    visit([]int{1, 2, 3, 4}, func(v int) {
        fmt.Println(v)
    })
}
3. 开启新的goroutine
func main() {
  ch := make(chan int)//用于等待goroutine执行
  fmt.Println("program is start")
  go func(){
    fmt.Println("start new goroutine")
    ch<-1
  }
  <-ch
}
4. golang函数支持可变参数

下面的函数入参,nums,是可变参数,可以传多个,也可以不传

func test(nums ...int){
  for _,value := range nums{
    fmt.Println("%d", value)//打印参数
  }
}
func main() {
  test(1, 2, 3, 4, 5)
}
//打印结果
1
2
3
4
5

相关文章

网友评论

      本文标题:Golang筑基 ——函数

      本文链接:https://www.haomeiwen.com/subject/mhpnmhtx.html