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文档链接的答案。但是我发现这个答案根据开发者的观点有一个清晰、简短的解释透视的。