Go

stan.xii@gmail.com

1 minute read

Function 函数 函数 是 Go 的中心。我们将通过一些不同的例子来进行学习 这里是一个函数,接受两个 int 并且以 int 返回它们的和 Go 需要明确的返回值,例如,它不会自动返回最后一个表达式的值 正如你期望的那样,通过 name(args) 来调用一个函数, 这里有许多 Go 函数的其他特性。其中一个就是多值返回,也是我们接下来需要接触的。 下一个例子: 多返回值 go code. // 函数 是 Go 的中心。我们将通过一些不同的例子来 // 进行学习。 package main import "fmt" // 这里是一个函数,接受两个 int 并且以 int 返回它 // 们的和 func plus(a int, b int) int { // Go 需要明确的返回值,例如,它不会自动返回最 // 后一个表达式的值 return a + b } func main() { // 正如你期望的那样,通过 name(args) 来调用一 // 个函数, res := plus(1, 2) fmt.

stan.xii@gmail.com

1 minute read

switch 分支 switch ,方便的条件分支语句。 go code.

stan.xii@gmail.com

1 minute read

闭包 (closures) Go 支持通过 闭包来使用 匿名函数。匿名函数在你想定义一个不需要命名的内联函数时是很实用的 下一个例子: 多返回值 go code. // Go 支持通过 <a href="http://zh.wikipedia.org/wiki/%E9%97%AD%E5%8C%85_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)"><em>闭包</em></a> // 来使用 匿名函数。 // 匿名函数在你想定义一个不需要命名的内联函数时是很实用的。 package main import "fmt" // 这个 intSeq 函数返回另一个在 intSeq 函数体内定义的 // 匿名函数。这个返回的函数使用闭包的方式 隐藏 变量 i。 func intSeq() func() int { i := 0 return func() int { i += 1 return i } } func main() { // 我们调用 intSeq 函数,将返回值(也是一个函数)赋给 // nextInt。这个函数的值包含了自己的值 i,这样在每 // 次调用 nextInt 时都会更新 i 的值。 nextInt := intSeq() // 通过多次调用 nextInt 来看看闭包的效果。 fmt.