Editor PHP Xinyi sering menghadapi pelbagai masalah dan kekeliruan semasa menulis kod. Salah satu masalah biasa ialah ralat sintaks apabila menggunakan pernyataan suis. Ini boleh menghalang kod daripada berjalan dengan betul dan menyebabkan masalah untuk pembangunan. Jadi, mengapa ralat ini berlaku? Dalam artikel ini, kami akan menjawab soalan ini dan menyediakan beberapa penyelesaian untuk membantu anda memahami dengan lebih baik dan menggunakan pernyataan suis serta mengelakkan ralat sintaks. Mari lihat!
Saya perlu mendapatkan pembolehubah rentetan daripada saluran dalam pernyataan suis.
go versi go1.19.6 linux/amd64 .test.go:12:12: Ralat sintaks: tidak dijangka: =, dijangka:
package main import ( "fmt" ) func main() { writeMsgs := make(chan string) go sendMsgs(writeMsgs) for { switch{ case msg := <-writeMsgs: fmt.Println(msg) } } } func sendMsgs(writeMsgs chan string) { for i:=0;i<5;i++ { writeMsgs<-"Test" } close(writeMsgs) }
Saya merujuk silang berbilang tutorial tetapi tidak dapat mengetahui apa yang salah.
go tidak membenarkan komunikasi saluran kerana switch
情况条件,您必须使用 select
sebaliknya konstruknya sangat serupa.
Pernyataan pilih golang adalah serupa dengan pernyataan suis dan digunakan untuk operasi berbilang saluran. Kenyataan ini menyekat sehingga mana-mana kes yang disediakan sedia.
Dalam kes anda adalah
func main() { writeMsgs := make(chan string) go sendMsgs(writeMsgs) for { select { case msg := <-writeMsgs: fmt.Println(msg) } } }
Di sini anda boleh mencubanya.
Atas ialah kandungan terperinci Mengapa saya mendapat ralat sintaks dengan pernyataan suis saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!