Rumah > pembangunan bahagian belakang > Golang > Bagaimana Fungsi Go Boleh Kurang Badan Namun Masih Berfungsi dengan Betul?

Bagaimana Fungsi Go Boleh Kurang Badan Namun Masih Berfungsi dengan Betul?

Susan Sarandon
Lepaskan: 2024-12-20 05:02:18
asal
912 orang telah melayarinya

How Can a Go Function Lack a Body Yet Still Function Correctly?

Pelaksanaan Fungsi dalam Himpunan Go

Membaca kod sumber math/floor.go, anda mungkin menghadapi pemerhatian yang membingungkan:

func Floor(x float64) float64

func floor(x float64) float64 {
    // ...
}
Salin selepas log masuk

Walaupun definisi fungsi untuk Lantai diisytiharkan, tiada badan fungsi yang jelas untuknya. Ini menimbulkan persoalan: adakah fungsi "tanpa badan" dibenarkan dalam sintaks Go?

Dalam alam Go, fungsi tanpa badan sememangnya merupakan binaan yang sah. Mereka berfungsi sebagai pemegang tempat untuk fungsi yang dilaksanakan dalam pemasangan. Khususnya, pelaksanaan pemasangan ini terdapat dalam fail floor_ARCH.s (contohnya, AMD64).

Seperti yang dinyatakan dalam spesifikasi Go:

Pengisytiharan fungsi mungkin meninggalkan kandungan. Pengisytiharan sedemikian menyediakan tandatangan untuk fungsi yang dilaksanakan di luar Go, seperti rutin pemasangan.

Jadi, sementara fungsi Floor nampaknya tidak mempunyai badan dalam definisi Go, ia sebenarnya dilaksanakan dalam pemasangan, menyediakan logik pelaksanaan yang diperlukan.

Atas ialah kandungan terperinci Bagaimana Fungsi Go Boleh Kurang Badan Namun Masih Berfungsi dengan Betul?. 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