Rumah > pembangunan bahagian belakang > Golang > Mengapa Saya Mendapat \'Ralat Sintaks: Titik Bertitik Tidak Dijangka Sebelum Lain\' dalam Go?

Mengapa Saya Mendapat \'Ralat Sintaks: Titik Bertitik Tidak Dijangka Sebelum Lain\' dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-11-03 01:04:29
asal
402 orang telah melayarinya

Why Am I Getting

Koma Bertitik Tidak Dijangka Sebelum Lain dalam Go: Penjelasan Terperinci

Kod Go anda menghadapi ralat luar biasa pada baris 21: "ralat sintaks: tidak dijangka koma bertitik atau baris baharu sebelum yang lain." Di sebalik penegasan anda, pemeriksaan lebih dekat mendedahkan bahawa memang terdapat koma bertitik (;) sebelum pernyataan "lain" pada baris ini.

Masalah utama di sini berpunca daripada peraturan pemasukan koma bertitik automatik Go. Biasanya, koma bertitik adalah pilihan dalam Go; bagaimanapun, pengkompil akan memasukkannya secara automatik pada penghujung baris tertentu untuk mengekalkan integriti sintaksis. Satu kes sedemikian ialah apabila baris diakhiri dengan pendakap tutup '}', seperti yang menutup pernyataan "jika" pada baris 21.

Tingkah laku ini menimbulkan halangan untuk pernyataan "lain" berikutnya. Dalam Go, blok "lain" hendaklah ditulis pada baris yang sama dengan pendakap penutup pernyataan "jika". Oleh itu, pengkompil tidak boleh menambah koma bertitik pada penghujung baris 21 kerana ia akan mencipta dua pernyataan berasingan, yang merupakan sintaks yang salah.

Untuk menyelesaikan isu ini, letakkan kata kunci "lain" terus selepas pendakap penutup pada baris 21:

<code class="go">if subject == current_mid {
    current_topic[predicate] = append(current_topic[predicate], object)
} else {
    processTopic(current_mid, current_topic, xmlFile)
    current_topic = make(map[string][]string)
}</code>
Salin selepas log masuk

Pengubahsuaian ini memastikan bahawa pernyataan "jika" dan "lain" membentuk satu pernyataan majmuk tunggal, seperti yang dikehendaki oleh sintaks Go.

Mengenai ralat pada baris 28 dan 32, ia berkaitan dengan kenyataan di luar skop fungsi "utama". Dalam Go, pernyataan mesti disertakan dalam badan fungsi yang dimilikinya. Untuk membetulkan ralat ini, sertakan pernyataan dalam kurung kurawal '}' dalam badan fungsi "utama".

Atas ialah kandungan terperinci Mengapa Saya Mendapat \'Ralat Sintaks: Titik Bertitik Tidak Dijangka Sebelum Lain\' dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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