go - 函数

函数
1. 格式
  func funcName(形参1 type[, 形参2 type...]) [([[返回变量1] type[, [返回变量2] type...]])] {
    [return [返回变量1[, 返回变量2...]]]
  }
  a. 如果形参类型都一样,可以这样写: 形参1, 形参2 type, 同时返回变量也一样
  b. 如果只有一个返回值或者无返回值, 可以去掉对应的()
  c. 如果返回有返回值,该函数中最外层要有return语句
  d. 返回语句(), 返回变量名可以省略
  e. []表示可省略
  f. 不支持默认参数
example code list
import "fmt"

func main() {
  //1. 函数的调用,多个返回值
  var (
    a = 10
    b = 100
  )
  a2, b2 := add(a, b)
  fmt.Println("a2, b2 = ", a2, ", ", b2) // a2, b2 = 20, 200
  //fmt.Println("a2, b2 = ", add(a, b)) //compile error: multiple-value add() in single-value context
}

func add(n1, n2 int) (res1, res2 int) {
    res1, res2 = n1*2, n2*2//不需要用 ":=" 声明, 如果写为res1, res2 := n1*2, n2*2会出错
    return
}

/*
//下面的add也可以为上面的写法
func add(n1, n2 int) (res1, res2 int) {
  return n1*2, n2*2
}
*/

2. 调用其他包中的函数
  先引入包,再调用:
  包名.函数()
  go语言中规则:小写字母开头的函数(变量/类型)只在本包中可见,大写字母开关的可以在其他包中被调用
  如果把数字转换为字符串,用strconv.itoa()  b := 66 strconv.Itoa(b) = "66"
  如果用string(b)结果为 "B"
example code list
import (
  "fmt"
  "math"
  "strconv"
)

func main() {
  //2. 调用 math, strconv 包中的函数
  fmt.Printf("sqrt(%d) = %.2f\n", b, math.Sqrt(float64(b))) //sqrt(100) = 10.00
  c := 67
  fmt.Println("string(67) = ", string(c))                   //string(67) = C
  fmt.Println("strconv.Itoa(67) = ", strconv.Itoa(c))       //strconv.Itoa(6
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值