面试题答案
一键面试在Go语言中,定义一个只写方向Channel的语法如下:
var ch chan<- 数据类型
例如,定义一个只写方向的int
类型Channel,并向其发送数据的示例代码如下:
package main
import (
"fmt"
)
func main() {
var ch chan<- int
ch = make(chan<- int)
go func() {
ch <- 10
close(ch)
}()
for num := range ch {
fmt.Println(num)
}
}
上述代码中,首先定义了一个只写方向的int
类型Channel ch
,然后通过make
函数初始化该Channel。在一个匿名的Go协程中,向ch
发送数据10
,并关闭该Channel。主函数通过for...range
循环从ch
中接收数据并打印。注意,实际应用中接收方应该在另一个协程中进行接收操作,这里为了简化示例在主函数中接收。