Function 什么';以下涉及Go中通道的函数参数之间的区别是什么?
此代码在函数参数中使用通道运算符:Function 什么';以下涉及Go中通道的函数参数之间的区别是什么?,function,go,arguments,channel,Function,Go,Arguments,Channel,此代码在函数参数中使用通道运算符: func工作者(项目 可选的 可选的 职能工作人员(项目 func Worker(item您可以尝试此代码示例来模拟通道方向 // func Worker(item <- chan string) # Send or Receive // func Worker(item chan string) # Bidirectional func sendOrRecvFunc(item <-chan string, msg *string) {
func工作者(项目
可选的
可选的
职能工作人员(项目
func Worker(item您可以尝试此代码示例来模拟通道方向
// func Worker(item <- chan string) # Send or Receive
// func Worker(item chan string) # Bidirectional
func sendOrRecvFunc(item <-chan string, msg *string) {
*msg = <- item // send
}
func bidirectionalFunc(item chan string, msg string) {
item <- msg // receive
}
func main() {
// e.g Send or Receive
var msg1 string
item1 := make(chan string,1)
item1 <- "message1" // receive
sendOrRecvFunc(item1,&msg1)
fmt.Println(msg1)
//---------------------------------------------
// e.g Bidirectional
item2 := make(chan string,1)
bidirectionalFunc(item2,"message2")
msg2 := <- item2 // send
fmt.Println(msg2)
}
// Output:
message1
message2
//func Worker(item您可以尝试此代码示例来模拟通道方向
// func Worker(item <- chan string) # Send or Receive
// func Worker(item chan string) # Bidirectional
func sendOrRecvFunc(item <-chan string, msg *string) {
*msg = <- item // send
}
func bidirectionalFunc(item chan string, msg string) {
item <- msg // receive
}
func main() {
// e.g Send or Receive
var msg1 string
item1 := make(chan string,1)
item1 <- "message1" // receive
sendOrRecvFunc(item1,&msg1)
fmt.Println(msg1)
//---------------------------------------------
// e.g Bidirectional
item2 := make(chan string,1)
bidirectionalFunc(item2,"message2")
msg2 := <- item2 // send
fmt.Println(msg2)
}
// Output:
message1
message2
//函数工作者(项目谢谢。有人给出了一个带有特定Golang文档链接的答案。但是我发现这个答案根据开发者的观点有一个清晰、简短的解释。谢谢。有人给出了一个带有特定Golang文档链接的答案。但是我发现这个答案根据开发者的观点有一个清晰、简短的解释透视的。