Memahami "<=: Isu Pengisytiharan Pembolehubah Pendek
Dalam Go, sintaks pengisytiharan pembolehubah pendek &= biasanya digunakan untuk mengisytiharkan dan memulakan pembolehubah dalam badan fungsi Walau bagaimanapun, cubaan menggunakan sintaks ini di luar fungsi boleh mengakibatkan ralat kompilasi "jangkaan pengisytiharan, menemui item 'IDENT'."
Punca Ralat
Mesej ralat menunjukkan bahawa pengkompil menjangkakan pengisytiharan (seperti var) tetapi menemui IDENT item (yang mewakili pengecam) sebaliknya dalam kod yang disediakan, baris:
item := &memcache.Item { Key: "lyric", Value: []byte("Oh, give me a home"), }
cuba untuk mengisytiharkan dan mulakan pembolehubah item menggunakan sintaks &= di luar fungsi, yang tidak dibenarkan.
Resolusi
Untuk menyelesaikan ralat ini, anda boleh melakukan salah satu daripada yang berikut :
func MyFunction() { item := &memcache.Item { Key: "lyric", Value: []byte("Oh, give me a home"), } // Do something with item }
var item = &memcache.Item { Key: "lyric", Value: []byte("Oh, give me a home"), }
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan `:=` Pengisytiharan Pembolehubah Pendek Di Luar Fungsi dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!