返回Go语言教程首页
概念简介
常规的通过通道发送和接收数据是阻塞的。然而,我们可以
使用带一个 `default` 子句的 `select` 来实现非阻塞 ...
返回Go语言教程首页
概念简介
超时对于一个连接外部资源,或者其它一些需要花费执行时间
的操作的程序而言是很重要的。得益于通道和 `select`...
返回Go语言教程首页
概念简介
Go语言的通道选择器让你可以同时等待多个通道操作。Go 协程和通道以及选择器的结合是 Go 的一个强大特性。
...
返回Go语言教程首页
概念简介
当使用通道作为函数的参数时,你可以指定这个通道是不是
只用来发送或者接收值。这个特性提升了程序的类型安全...
返回Go语言教程首页
概念简介
我们可以使用通道来同步 Go语言 协程间的执行状态。这里是一个
使用阻塞的接受方式来等待一个 Go 协程的运行结...
返回Go语言教程首页
概念简介
默认情况下,通道是 无缓冲 的,这意味着只有对应的接收(`
返回Go语言教程首页
概念简介
通道(Channels)是连接多个 Go语言 协程的管道。你可以从一个 Go 协程将值发送到通道,然后在别的 Go 协程中接收...
返回Go语言教程首页
概念简介
Go语言的协程(goroutine)从执行上来说是轻量级的线程。
例程代码
package main
import "fmt"
...
返回Go语言教程首页
概念简介
符合 Go 语言习惯的做法是使用一个独立、明确的返回值来传递错误信息。
这与使用异常(exception)的 Java 和 Rub...
返回Go语言教程首页
概念简介
接口(Interfaces)是命名了的方法签名(signatures)的集合。
例程代码
package main
import "fmt"
...
返回Go语言教程首页
概念简介
Go语言支持在结构体类型中定义方法(methods)。
例程代码
package main
import "fmt"
type rec...
返回Go语言教程首页
概念简介
Go语言的结构体(struct)是带类型的字段(fields)集合。这在组织数据时非常有用。
例程代码
package m...
返回Go语言教程首页
概念简介
Go语言支持 指针,
允许在程序中通过引用传递值或者数据结构。
例程代码
package main
import "...
返回Go语言教程首页
概念简介
Go语言支持递归。这里是一个经典的阶乘示例。
例程代码
package main
import "fmt"
// `fact`...
返回Go语言教程首页
概念简介
Go语言支持匿名函数,并能用其构造 闭包。
匿名函数在你想定义一个不需要命名的内联函数时是很实用的。
例...
返回Go语言教程首页
概念简介
可变参数函数在调用时可以用任意数量的参数。例如,`fmt.Println` 是一个常见的变参函数。
例程代码
...
返回Go语言教程首页
概念简介
Go语言内建多返回值支持。这个特性在 Go 语言中经常被用到,例如用来同时返回一个函数的结果和错误信息。。
...