Golang ialah bahasa pengaturcaraan moden dan cekap yang menyokong pelbagai jenis data, seperti integer, titik terapung, rentetan, dsb. Walau bagaimanapun, dalam proses pengaturcaraan sebenar, kami sering menghadapi beberapa masalah penukaran jenis data, antaranya penukaran jenis int kepada jenis terapung adalah masalah yang agak biasa.
Di Golang, kita boleh menggunakan jenis data float32 dan float64 untuk mewakili nombor titik terapung, manakala jenis int dibahagikan kepada jenis int8, int16, int32 dan int64. Untuk menukar data jenis int kepada jenis apungan, kami hanya menggunakan operator penukaran jenis.
Seterusnya, kami akan mengambil beberapa senario penggunaan sebenar sebagai contoh untuk memperkenalkan cara menukar jenis int kepada jenis terapung di Golang.
Kita boleh menggunakan pernyataan berikut untuk menukar nilai pembolehubah jenis int kepada pembolehubah jenis float32 f:
value := 100 f := float32(value)
Dalam contoh ini, kita mula-mula mentakrifkan nilai pembolehubah jenis int dan memberikannya nilai 100. Kemudian, kami menggunakan operator penukaran jenis float32 untuk menukar nilai pembolehubah kepada jenis float32 dan menetapkan hasil penukaran kepada pembolehubah f. Dengan cara ini, pembolehubah f menjadi pembolehubah titik terapung dengan nilai 100.0.
Dalam sesetengah kes, kita mungkin perlu menukar tatasusunan jenis int kepada tatasusunan jenis float32 yang sepadan. Kita boleh menggunakan kod berikut untuk melengkapkan proses penukaran ini:
arrInt := []int{1, 2, 3, 4, 5} arrFloat := make([]float32, len(arrInt)) for i, v := range arrInt { arrFloat[i] = float32(v) }
Dalam contoh ini, kami mentakrifkan arrInt tatasusunan jenis int yang mengandungi 5 elemen dan memulakannya kepada {1, 2, 3, 4, 5}. Kemudian, kami mencipta tatasusunan jenis float32 arrFloat dengan panjang yang sama seperti arrInt, dan menggunakan gelung for untuk melintasi arrInt tatasusunan, menukar setiap elemen kepada jenis float32 dan menetapkannya kepada elemen arrFloat yang sepadan.
Serupa dengan tatasusunan, kita juga boleh menukar kepingan kepingan int kepada kepingan float32 yang sepadan. Berikut ialah kod penukaran:
sliceInt := []int{1, 2, 3, 4, 5} sliceFloat := make([]float32, len(sliceInt)) for i, v := range sliceInt { sliceFloat[i] = float32(v) }
Dalam contoh ini, kami mentakrifkan sliceInt jenis int yang mengandungi 5 elemen dan memulakannya kepada {1, 2, 3, 4, 5}. Kemudian, kami mencipta sliceFloat jenis float32 dengan panjang yang sama seperti sliceInt, dan menggunakan gelung for untuk melintasi sliceInt, menukar setiap elemen kepada jenis float32 dan menetapkannya kepada elemen sliceFloat yang sepadan.
Dalam beberapa projek sebenar, kadangkala kita perlu menghuraikan nilai jenis int daripada rentetan , dan kemudian tukarkannya kepada jenis float32. Berikut ialah contoh kod:
str := "100" value, err = strconv.Atoi(str) if err != nil { // 处理错误 } f := float32(value)
Dalam contoh ini, kita mula-mula mentakrifkan pembolehubah rentetan str dengan nilai "100". Kemudian, kami menggunakan fungsi strconv.Atoi() untuk menukar rentetan kepada nilai pembolehubah integer dan mengembalikan nilai ralat jika penukaran gagal. Akhir sekali, kami menukar nilai pembolehubah kepada jenis float32 tanpa ralat dan menetapkannya kepada pembolehubah f.
Ringkasan
Di Golang, menukar jenis int kepada jenis terapung adalah sangat mudah, cuma gunakan operator type(). Sudah tentu, kita mesti memastikan bahawa hasil penukaran adalah munasabah sebelum melakukan penukaran jenis, jika tidak, beberapa ralat mungkin berlaku. Saya harap contoh dan kod di atas dapat membantu anda memahami dengan lebih baik penukaran jenis data di Golang.
Atas ialah kandungan terperinci golang int to float. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!