Rumah  >  Artikel  >  pembangunan bahagian belakang  >  golang running error 216

golang running error 216

PHPz
PHPzasal
2023-05-10 10:50:36908semak imbas

Golang ialah bahasa pengaturcaraan bertaip statik yang menyediakan pengurusan memori yang cekap dan keupayaan pengaturcaraan serentak Oleh itu, ia digunakan secara meluas dalam pembangunan web, pengaturcaraan rangkaian, pengkomputeran awan dan bidang lain. Walau bagaimanapun, anda pasti akan menghadapi beberapa ralat berjalan semasa membangunkan aplikasi menggunakan Golang Artikel ini akan menumpukan pada kod ralat 216.

Pertama sekali, dengan merujuk dokumen rasmi Golang dan forum berkaitan, kami tahu bahawa 216 ralat dikembalikan. oleh fungsi Nilai tidak boleh ditukar kepada jenis yang ditentukan. Jadi, dalam keadaan apakah ralat ini berlaku? Mari analisa mereka satu persatu.

1. Jenis nilai pulangan fungsi tidak sepadan dengan jenis yang diisytiharkan
Dalam Golang, fungsi harus mengisytiharkan jenis nilai pulangan secara eksplisit Jika jenis nilai pulangan fungsi tidak sepadan dengan jenis yang diisytiharkan. ralat 216 akan dikembalikan. Sebagai contoh, katakan kita mempunyai fungsi foo yang mengembalikan jenis rentetan, tetapi apabila kita mengisytiharkan fungsi itu, kita mengisytiharkan bahawa jenis nilai pulangannya ialah int, maka ralat 216 akan berlaku apabila kod dijalankan.

2. Nilai pulangan fungsi kosong
Fungsi dalam Golang boleh tidak mempunyai nilai pulangan, tetapi apabila kita mengisytiharkan jenis nilai pulangan semasa mengisytiharkan fungsi, tetapi fungsi itu sebenarnya tidak mempunyai nilai pulangan, Ralat 216 juga akan berlaku. Sebagai contoh, katakan kita mempunyai bar fungsi yang mengembalikan jenis int, tetapi kita tidak menggunakan pernyataan pulangan di dalam fungsi untuk mengembalikan sebarang nilai, iaitu, kita tidak mengembalikan nilai jenis int, maka ralat 216 akan berlaku apabila kod dijalankan.

3. Jenis nilai pulangan fungsi tidak konsisten dengan jenis yang dijangkakan oleh pemanggil
Kadangkala, apabila memanggil fungsi, jenis nilai pulangan yang dijangka tidak sepadan dengan jenis nilai pulangan fungsi sebenar, yang juga akan menyebabkan ralat 216. Sebagai contoh, katakan kita mempunyai fungsi baz yang mengembalikan jenis bool, tetapi kita menjangkakan nilai pulangan jenis int apabila memanggil fungsi, maka ralat 216 akan dijana apabila kod dijalankan.

Sebagai tindak balas kepada situasi di atas, kita boleh menyelesaikannya dengan cara berikut:

1 Penyelesaian kepada ketidakpadanan antara jenis nilai pulangan fungsi dan jenis yang diisytiharkan
Apabila mengisytiharkan a. fungsi, pastikan untuk memastikan bahawa nilai pulangan Jenis nilai sepadan dengan jenis nilai pulangan sebenar fungsi. Sebagai contoh, jika fungsi foo sebenarnya mengembalikan nilai rentetan jenis, maka jenis pulangannya hendaklah diisytiharkan sebagai rentetan apabila fungsi itu diisytiharkan. Jika kita mempunyai berbilang penyata pulangan di dalam fungsi, jenis nilai pulangan dalam setiap penyata pulangan mestilah konsisten dengan jenis yang diisytiharkan.

2. Penyelesaian untuk mengosongkan nilai pulangan fungsi
Jika fungsi itu sendiri tidak perlu mengembalikan sebarang nilai, maka kita boleh menggunakan nilai pulangan nol apabila fungsi itu diisytiharkan, iaitu mengembalikan nilai nol . Sebagai contoh, apabila mengisytiharkan bar fungsi yang mengembalikan jenis int, kita boleh menggunakan penyataan pulangan 0 untuk mengembalikan nilai nol. Dengan cara ini, apabila fungsi itu dilaksanakan, walaupun tiada nilai pulangan khusus, tiada ralat 216 akan dijana. Pada masa yang sama, anda juga perlu memberi perhatian apabila memanggil fungsi Jika anda menjangkakan nilai pulangan, anda perlu memastikan bahawa terdapat pernyataan pulangan tertentu di dalam fungsi tersebut.

3 Penyelesaian kepada ketidakkonsistenan antara jenis nilai pulangan fungsi dan jenis jangkaan pemanggil
Jika jenis nilai pulangan sebenar fungsi tidak konsisten dengan jenis jangkaan pemanggil, anda boleh mempertimbangkan untuk menambah operasi penukaran jenis apabila. memanggil fungsi untuk menukar fungsi Nilai pulangan ditukar kepada jenis yang diharapkan oleh pemanggil. Sebagai contoh, apabila memanggil fungsi baz yang mengembalikan jenis bool, kita boleh menggunakan kod berikut untuk melakukan penukaran jenis:

result := baz()
if result == true {
    i := 1 //int类型
    fmt.Println(i)
} else {
    i := 0 //int类型
    fmt.Println(i)
}

Dengan cara ini, walaupun jenis nilai pulangan sebenar fungsi itu adalah jenis bool, ia boleh ditukar dengan betul apabila kod sedang dijalankan. Tukar kepada jenis int yang dijangkakan oleh pemanggil.

Ringkasan:
Ralat masa jalan 216 di Golang disebabkan oleh jenis nilai pulangan fungsi tidak dapat ditukar kepada jenis yang ditentukan Ia terutamanya dibahagikan kepada situasi berikut: jenis nilai pulangan fungsi tidak sepadan jenis yang diisytiharkan, pulangan fungsi Nilai kosong, dan jenis nilai pulangan fungsi tidak konsisten dengan jenis yang diharapkan oleh pemanggil. Untuk situasi ini, kita boleh menyelesaikannya dengan memastikan bahawa jenis nilai pulangan fungsi adalah konsisten dengan jenis yang diisytiharkan, menggunakan nilai pulangan nol atau melakukan penukaran jenis. Apabila menulis kod Golang, kita harus membaca pengisytiharan fungsi dengan teliti dan memastikan bahawa jenis nilai pulangan adalah konsisten dengan jenis nilai yang dijangkakan apabila memanggil fungsi untuk mengelakkan ralat masa jalan.

Atas ialah kandungan terperinci golang running error 216. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:golang melaksanakan fungsi phpArtikel seterusnya:golang melaksanakan fungsi php