Go语言基本语法之函数

1.函数可以返回多个值
示例1:

func div(a, b int)  (int, int){
   return a / b, a % b
}

2.函数返回多个值时可以起名字(仅用于非常简单的函数),对于调用者而言没有区别
示例2:

package main
import "fmt"

func div(a, b int)  (q, r  int){
   q = a / b
   r = a % b
   return q, r
}
func main() {
   q, _ := div(13, 3)
   fmt.Println(q)
}
注意:返回多值,仅需要接收一个值,其他不取的值可使用“_”下划线表示。

3.函数作为参数
示例3:

func apply(op func(int, int) int, a, b int) int{
   fmt.Printf("Calling %s with %d, %d\n", runtime.FuncForPC(reflect.ValueOf(op).Pointer()).Name(), a, b)
   return op(a, b)
}

func main() {
   fmt.Println(apply(func(a int, b int) int {
      return int(math.Pow(float64(a), float64(b)))
   }, 3, 4))
}

4.可变参数列表

func sumArgs(values ...int) int{
   sum := 0
   for i := range values{
      fmt.Println(i)
      fmt.Println(values[i])
      sum += values[i]
   }
   return sum
}

func main() {
   fmt.Println(sumArgs(2, 4, 6, 8, 10))
}
注意:Go语言中没有默认参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值