Golang ialah bahasa yang ditaip secara statik dan jenis data pembolehubah ditentukan semasa penyusunan. Oleh itu, penukaran jenis paksa diperlukan apabila menukar antara jenis data yang berbeza.
Paksaan adalah untuk menukar nilai satu jenis kepada jenis lain Yang paling biasa ialah menukar jenis data berangka kepada jenis data rentetan untuk pemformatan, atau untuk menukar berbilang nombor, beberapa daripadanya perlu ditukar jenis untuk menghasilkan keputusan pengiraan yang betul.
Di Golang, anda boleh menggunakan nilai (jenis) sintaks untuk melakukan penukaran jenis paksa. Antaranya, jenis mewakili jenis data yang hendak ditukar, dan nilai mewakili pembolehubah yang hendak ditukar jenis. Sebagai contoh, menukar pembolehubah jenis int kepada jenis float64 boleh dicapai melalui kod berikut:
var a int = 3 var b float64 = float64(a)
Di sini, dengan memaksa pembolehubah a jenis int untuk menaip float64, hasilnya diberikan kepada pembolehubah yang sepadan b .
Apabila melakukan penukaran jenis paksa, anda perlu memberi perhatian kepada perkara berikut:
Penukaran antara jenis data yang berbeza di Golang mestilah serasi dan penukaran jenis paksa bagi jenis data yang tidak serasi adalah tidak dibenarkan. Sebagai contoh, anda tidak boleh menukar pembolehubah jenis rentetan kepada jenis data integer.
Semasa proses penukaran jenis data, kehilangan ketepatan adalah masalah yang sangat biasa. Contohnya, apabila menukar data jenis apungan kepada jenis int, nilai selepas titik perpuluhan akan ditinggalkan, yang boleh mengakibatkan kehilangan ketepatan dan ralat pengiraan.
Jenis rentetan tidak boleh ditukar terus kepada jenis data berangka Anda perlu menggunakan fungsi yang disediakan oleh pakej strconv untuk menukar antara jenis rentetan dan jenis data berangka, seperti strconv.ParseInt(), strconv. .ParseFloat() dsb.
Berikut ialah contoh program lengkap yang menunjukkan cara melakukan penukaran jenis cast:
package main import "fmt" func main() { var a int = 3 var b float64 = float64(a) var c int64 = int64(a) fmt.Printf("a type: %T, value: %d ", a, a) fmt.Printf("b type: %T, value: %f ", b, b) fmt.Printf("c type: %T, value: %d ", c, c) var str string = "100" num, err := strconv.Atoi(str) if err != nil { fmt.Println("convert error") return } fmt.Printf("num type: %T, value: %d ", num, num) }
Akhir sekali, penukaran jenis cast ialah bahagian yang sangat penting dalam Golang Hanya dengan memahami dan menguasai penukaran jenis cast Hanya dengan pengetahuan yang berkaitan anda boleh menggunakan bahasa Golang dengan lebih baik untuk pengaturcaraan.
Atas ialah kandungan terperinci penukaran jenis paksa golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!