Mengapakah Go Memerlukan Corak 'Koma Ok' untuk Pulangan Berbilang Nilai daripada Akses Peta?

Susan Sarandon
Lepaskan: 2024-11-06 18:10:03
asal
743 orang telah melayarinya

Why Does Go Require a

Isu Pemulangan Berbilang Nilai dalam Go

Dalam Go, mengembalikan berbilang nilai daripada fungsi boleh dilakukan menggunakan berbilang tugasan. Walau bagaimanapun, terdapat beberapa keperluan khusus yang perlu dipenuhi.

Pertimbangkan kod berikut:

func FindUserInfo(id string) (Info, bool) {
    it, present := all[id] // Valid comma ok assignment pattern
    return it, present
}
Salin selepas log masuk

Kod ini menggunakan corak "koma ok" dengan betul untuk mendapatkan berbilang nilai daripada peta carian. Nilai boolean semasa menunjukkan sama ada kunci ditemui dalam peta.

Walau bagaimanapun, kod berikut tidak sah:

func FindUserInfo(id string) (Info, bool) {
    return all[id] // Invalid, without a comma ok expression
}
Salin selepas log masuk

Pengkompil membenderakan ini sebagai ralat, menyatakan bahawa terdapat berbilang nilai untuk dikembalikan, tetapi hanya satu pembolehubah diberikan. Ralat ini berlaku kerana Go memerlukan penetapan eksplisit semua nilai pulangan.

Untuk menghuraikan ralat ini, bahasa Go menggunakan peraturan "jenis kesetaraan" untuk tugasan. Dalam kebanyakan kes, ini bermakna memberikan nilai satu jenis kepada pembolehubah jenis lain akan mengakibatkan ralat masa kompilasi. Walau bagaimanapun, apabila mengakses peta, pengecualian dibuat.

Mengakses peta mengembalikan tuple dua nilai: nilai asas dan boolean yang menunjukkan sama ada kunci ditemui. Tuple ini biasanya diberikan kepada sepasang pembolehubah menggunakan corak "koma ok".

Pengkompil Go direka khusus untuk membenarkan corak ini, walaupun nampaknya melanggar peraturan kesetaraan jenis. Akibatnya, anda tidak boleh menetapkan nilai peta terus kepada berbilang pembolehubah tanpa menggunakan ungkapan ok koma.

Dalam kes anda, anda boleh mengelak daripada menggunakan pembolehubah sementara dengan memastikan anda sentiasa menggunakan corak ok koma apabila mengakses sesuatu peta. Ini memastikan bahawa berbilang nilai ditetapkan dengan betul dan pengkompil tidak akan membenderakan sebarang ralat.

Atas ialah kandungan terperinci Mengapakah Go Memerlukan Corak 'Koma Ok' untuk Pulangan Berbilang Nilai daripada Akses Peta?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!