Rumah >pembangunan bahagian belakang >Golang >Mengapa Panggilan Fungsi Go Saya Mengakibatkan Ralat 'Digunakan Sebagai Nilai'?

Mengapa Panggilan Fungsi Go Saya Mengakibatkan Ralat 'Digunakan Sebagai Nilai'?

DDD
DDDasal
2024-12-19 10:02:10964semak imbas

Why Does My Go Function Call Result in the

"digunakan sebagai nilai" dalam Panggilan Fungsi

Dalam Go, fungsi boleh digunakan untuk menilai nilainya, yang boleh digunakan dalam keadaan bersyarat kenyataan. Walau bagaimanapun, apabila menilai nilai fungsi, adalah penting untuk memastikan pengisytiharan dan penyebutan fungsi yang betul.

Dalam coretan kod yang disediakan:

if sumThis(1,2) > sumThis(3,4){
    fmt.Println("test")
} else {
    fmt.Println("derp")
}

Jumlah fungsi ini digunakan beberapa kali untuk mengira nilainya. Walau bagaimanapun, mesej ralat menunjukkan bahawa sumThis adalah "digunakan sebagai nilai", yang bermaksud panggilan fungsi cuba untuk menetapkan hasil panggilan fungsi kepada pembolehubah tanpa menyatakan jenis pemulangan.

Untuk menyelesaikan masalah ini, anda perlu mengisytiharkan jenis pulangan untuk fungsi sumThis. Dalam Go, fungsi mesti mengisytiharkan jenis pemulangannya secara eksplisit. Fungsi hendaklah diisytiharkan seperti berikut:

func sumThis(a, b int) int {
    return a + b
}

Dengan menyatakan jenis pulangan sebagai int, fungsi akan mengembalikan hasil pengiraan. Kini, kod akan disusun dan dijalankan dengan jayanya, mencetak sama ada "ujian" atau "derp" bergantung pada keputusan panggilan fungsi.

Atas ialah kandungan terperinci Mengapa Panggilan Fungsi Go Saya Mengakibatkan Ralat 'Digunakan Sebagai Nilai'?. 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