Go ialah bahasa pengaturcaraan yang sangat popular sesuai untuk menulis pelayan web berskala tinggi dan sistem teragih. Dalam artikel ini, kita akan membincangkan masalah pembahagian integer dalam bahasa Go.
Dalam Go, hasil pembahagian integer ialah integer, yang bermaksud jika hasil pembahagian dua integer ialah perpuluhan, bahagian perpuluhan akan dipotong dan hanya bahagian integer akan disimpan. Ini biasanya yang kita mahukan, tetapi dalam beberapa kes ia boleh menyebabkan ralat atau tingkah laku pelik.
Andaikan kita mempunyai dua integer, x dan y, dan kita ingin mengira hasil baginya dan menetapkan hasilnya kepada pembolehubah z. Kita boleh menulis kod seperti ini:
z := x/y
Dalam kes ini, jika x dan y adalah kedua-dua integer, z akan menjadi hasil bagi integer mereka. Contohnya, jika x ialah 8 dan y ialah 3, maka z ialah 2.
Walau bagaimanapun, jika x ialah integer dan y ialah nombor titik terapung, bahasa Go secara automatik akan menukar y kepada integer dan melaksanakan pembahagian integer. Ini boleh membawa kepada hasil yang tidak dijangka. Sebagai contoh, jika x ialah 8 dan y ialah 3.0, z masih akan menjadi 2, bukan jangkaan 2.6666666666666665.
Untuk menyelesaikan masalah ini, kita boleh menukar kedua-dua x dan y kepada nombor titik terapung dan menggunakan pembahagian titik terapung untuk mengira hasil bahaginya. Kod untuk melakukan ini adalah seperti berikut:
z := float64(x) / float64(y)
Dalam kes ini, z akan menjadi hasil bagi tepat bagi x dan y, iaitu 2.6666666666666665.
Selain di atas, jika y sama dengan 0, pembahagian integer akan menjana ralat dan menyebabkan atur cara ranap. Dalam kes ini, kita perlu menyemak sama ada y ialah sifar sebelum menjalankan kod untuk mengelakkan ralat masa jalan.
Ringkasnya, pembahagian integer dalam bahasa Go ialah operasi yang mudah tetapi terdedah kepada ralat. Dengan menggunakan pembahagian titik terapung untuk mengira hasil bahagi, kami memastikan kami mendapat hasil yang betul dan mengelakkan tingkah laku yang tidak dijangka. Selain itu, kita perlu menyemak sama ada penyebut adalah sifar sebelum melaksanakan operasi pembahagian integer untuk mengelakkan ralat masa jalan.
Atas ialah kandungan terperinci Artikel untuk membincangkan masalah pembahagian integer dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!