Rumah > Artikel > pembangunan bahagian belakang > Mengapakah saya Mendapat \"ralat sintaks: koma bertitik tidak dijangka atau baris baharu sebelum lain\" dalam Kod Pergi saya?
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:
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) }
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!