简单介绍go语言支持哪些函数

2025年02月24日 建站教程

go语言有哪些函数,下面web建站小编给大家简单介绍go语言支持哪些函数?

函数定义

func sayHello() {
  fmt.Println("你好!")
}

函数作为返回值

func do(s string) (func(int, int) int, error) {
  switch s {
  case "+":
    return add, nil
  case "-":
    return sub, nil
  default:
    err := errors.New("无法识别的操作符")
    return nil, err
  }
}

匿名函数

func main() {
  // 将匿名函数保存到变量
  add := func(x, y int) {
    fmt.Println(x + y)
  }
  add(10, 20) // 通过变量调用匿名函数
  
  //自执行函数:匿名函数定义完加()直接执行
  func(x, y int) {
    fmt.Println(x + y)
  }(10, 20)
}

闭包

func calc(base int) (func(int) int, func(int) int) {
  add := func(i int) int {
    base += i
    return base
  }
  
  sub := func(i int) int {
    base -= i
    return base
  }
  return add, sub
}
 
func main() {
  f1, f2 := calc(10)
  fmt.Println(f1(1), f2(2)) //11 9
  fmt.Println(f1(3), f2(4)) //12 8
  fmt.Println(f1(5), f2(6)) //13 7
}

本文链接:http://so.lmcjl.com/news/23753/

展开阅读全文