Rumah > pembangunan bahagian belakang > Golang > Mengapakah saya Mendapat \'ralat sintaks: koma bertitik tidak dijangka atau baris baharu sebelum lain\' dalam Kod Pergi saya?

Mengapakah saya Mendapat \'ralat sintaks: koma bertitik tidak dijangka atau baris baharu sebelum lain\' dalam Kod Pergi saya?

Linda Hamilton
Lepaskan: 2024-11-02 12:40:02
asal
384 orang telah melayarinya

Why am I Getting

Ralat Sintaks Tidak Dijangka: Titik Bertitik Tidak Dijangka atau Baris Baharu Sebelum "Else" dalam Go

Pengkompil Go melaporkan mesej ralat misteri: "ralat sintaks : koma bernoktah atau baris baharu yang tidak dijangka sebelum yang lain." Walaupun pemeriksaan menyeluruh pada baris 21, kod tersebut nampaknya tidak mempunyai sebarang koma bertitik atau baris baharu yang menyinggung perasaan.

Menyelidiki lebih mendalam, kami menemui dua ralat membingungkan tambahan pada baris 28 dan 32: "pernyataan bukan pengisytiharan di luar badan fungsi." Pernyataan ini berada dalam fungsi main() dan seharusnya tidak terjejas oleh pendakap penutup yang menamatkan fungsi tersebut.

Bukti menunjukkan bahawa ralat yang disebutkan di atas berpunca daripada isu asas dalam baris 21. Bahasa Go memperkenalkan beberapa titik koma bertitik unik- tingkah laku pengendalian:

  • Koma bertitik disisipkan secara automatik pada penghujung baris yang mengandungi token tertentu, termasuk pendakap tutup }.
  • Akibatnya, koma bertitik ditambah selepas pendakap tutup sesuatu if block.
  • Untuk pernyataan if {...} else {...}, sisipan koma bertitik ini mencipta ralat sintaks, kerana koma bertitik tidak dibenarkan dalam klausa else.

Untuk menyelesaikan isu ini, klausa else mesti diletakkan pada baris yang sama dengan pendakap penutup blok if. Contohnya:

if len(current_mid) > 0 {
    processTopic(current_mid, current_topic, xmlFile)
} else {
    current_topic = make(map[string][]string)
}
Salin selepas log masuk

Ralat pengkompil berkenaan "pernyataan bukan pengisytiharan di luar badan fungsi" timbul daripada keperluan ketat Go bahawa pernyataan di luar badan fungsi adalah pengisytiharan. Dalam kes baris 28 dan 32, ungkapan bukanlah pengisytiharan mahupun sebahagian daripada badan fungsi, oleh itu mesej ralat.

Atas ialah kandungan terperinci Mengapakah saya Mendapat \'ralat sintaks: koma bertitik tidak dijangka atau baris baharu sebelum lain\' dalam Kod Pergi saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan