好像第一次看到这个知识点,作个记录。

注意通道在只能发射或只能接收信息时,<-这个符号放置的位置。

package main

import "fmt"
import "time"

func main() {
	channel := make(chan string)
	go func(ch chan<- string) {
		ch <- "Hello, world"
		println("Finishing goroutine")
	}(channel)

	time.Sleep(5 * time.Second)

	go func(ch <-chan string) {
		msg := <-ch
		println(msg)
	}(channel)
	message := <-channel

	fmt.Println(message)

}

  golang中的定向通道(Directional channels)-LMLPHP

05-26 22:30