Mengapa saya mendapat ralat sintaks dengan pernyataan suis saya?

王林
Lepaskan: 2024-02-09 20:21:43
ke hadapan
1128 orang telah melayarinya

为什么我的 switch 语句会出现语法错误?

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!

Kandungan soalan

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)
}
Salin selepas log masuk

Saya merujuk silang berbilang tutorial tetapi tidak dapat mengetahui apa yang salah.

Penyelesaian

go tidak membenarkan komunikasi saluran kerana switch 情况条件,您必须使用 selectsebaliknya 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)
        }
    }
}
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!