关闭 一个通道意味着不能再向这个通道发送值了.这个特性可以用来给这个通道的接收方传达工作已经完成的信息. Example: package main import "fmt" //在这个例子中,我们将使用一个 jobs 通道来传递 main() 中 Go协程任务执行的结束信息 //到一个工作 Go 协程中.当我们没有多余的任务给这个工作 Go 协程时 //我们将 close 这个 jobs 通道. func main() { jobs := make(chan int, 5) done…
在前面的例子中,我们讲过 for 和 range为基本的数据结构提供了迭代的功能.我们也可以使用这个语法来遍历从通道中取得的值 Example: package main import "fmt" //这个例子也让我们看到,一个非空的通道也是可以关闭的 //但是通道中剩下的值仍然可以被接收到. func main() { jobs := make(chan string, 2) jobs <- "one" jobs <- "two"…
Go 内建多返回值 支持.这个特性在 Go 语言中经常被用到,例如用来同时返回一个函数的结果和错误信息. Example: package main import "fmt" //(int, int)标志函数有两个int返回值. func example_func(a int, b int) (int, int){ return a, b } func main(){ c, d := example_func(1, 3) //fmt.Printf用来格式化字符串. fmt.Printf…