Dalam Go, kami boleh berkongsi dan menghantar data antara fungsi dengan mudah dengan menghantar saluran fungsi sebagai hujah fungsi menggunakan kata kunci chan. Langkah-langkah khusus adalah seperti berikut: Cipta saluran untuk menghantar jenis data tertentu. Lulus saluran sebagai parameter dalam fungsi menggunakan kata kunci chan dan nama saluran. Gunakan saluran sehala
Dalam bahasa Go, kita boleh menghantar saluran fungsi sebagai parameter fungsi, yang boleh dicapai melalui kata kunci chan
. Ini memudahkan untuk berkongsi dan menghantar data antara fungsi. chan
关键字实现。这样可以轻松地在函数之间共享和传递数据。
语法:
func functionName(channelName chan type)
其中:
channelName
是通道的名称type
是通道中传输数据的类型实战案例:
考虑以下示例,其中我们创建一个通道来传递字符串:
package main import ( "fmt" "time" ) // 创建一个通道来传递字符串 var messages chan string func main() { // 开启一个 goroutine 将数据发送到通道中 go func() { for { messages <- "Hello, world!" time.Sleep(1 * time.Second) } }() // 开启一个 goroutine 从通道中接收数据 go func() { for { // 从通道中接收数据,并打印出来 msg := <-messages fmt.Println(msg) } }() // 等待 10 秒来查看输出 time.Sleep(10 * time.Second) }
在这个示例中:
messages
的通道,它将传递字符串。 来接收数据,以便一次只能接收一个值。
fmt.Println
打印从通道中接收到的消息。time.Sleep
channelName
ialah nama saluran 🎜type
ialah saluran Jenis data yang dipindahkan 🎜🎜🎜Contoh Realistik:🎜🎜Pertimbangkan contoh berikut di mana kami mencipta saluran untuk menghantar rentetan: 🎜rrreee🎜Dalam contoh ini: 🎜message
yang akan melepasi rentetan. 🎜 untuk menerima data supaya hanya satu nilai boleh diterima pada satu masa. 🎜<li>Panggil <code>fmt.Println
untuk mencetak mesej yang diterima daripada saluran. 🎜time.Sleep
untuk melambatkan goroutine untuk melihat output. 🎜🎜Atas ialah kandungan terperinci saluran fungsi golang diluluskan sebagai parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!