Rumah >pembangunan bahagian belakang >Golang >Mengapa Beberapa Fungsi Go, Seperti `Math.Floor`, Tanpa Badan?

Mengapa Beberapa Fungsi Go, Seperti `Math.Floor`, Tanpa Badan?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 21:14:22733semak imbas

Why Are Some Go Functions, Like `math.Floor`, Bodiless?

Fungsi Tanpa Badan dalam Go

Kod yang disediakan menunjukkan situasi pelik di mana fungsi Floor kelihatan tanpa badan, tanpa badan fungsi. Ini boleh ditemui apabila memeriksa kod sumber math/floor.go.

Setelah disiasat, ternyata fenomena ini adalah disengajakan. Dalam Go, fungsi tanpa badan dibenarkan untuk pelaksanaan yang ditulis dalam pemasangan. Pelaksanaan sebenar boleh didapati dalam fail floor_ARCH.s (cth., untuk AMD64).

Seperti yang dinyatakan dalam spesifikasi Go:

A function declaration may omit the body. Such a declaration provides the signature for a function implemented outside Go, such as an assembly routine.

Peruntukan ini membenarkan fungsi peringkat rendah menjadi ditakrifkan dalam pemasangan sambil mengekalkan antara muka Go yang konsisten dan ditaip dengan baik.

Atas ialah kandungan terperinci Mengapa Beberapa Fungsi Go, Seperti `Math.Floor`, Tanpa Badan?. 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