Rumah >pembangunan bahagian belakang >Golang >pelakon golang
Dengan aplikasi Golang yang meluas dalam bidang Internet, terdapat peningkatan permintaan untuk penukaran jenis paksa Golang. Penghantaran ialah penukaran nilai satu jenis data kepada nilai jenis data lain dan nilai yang ditukar mungkin dipotong atau kehilangan ketepatan. Artikel ini akan memperkenalkan pengetahuan berkaitan penukaran jenis paksa Golang daripada empat aspek berikut.
1. Sintaks penukaran jenis paksa
Di Golang, untuk jenis data yang berbeza, kami boleh menukarnya kepada jenis lain melalui penukaran jenis paksa. Sintaksnya ialah:
T(ungkapan)
Antaranya, T mewakili jenis sasaran dan ungkapan mewakili ungkapan yang perlu dihantar.
Contohnya, tukarkan pembolehubah jenis int kepada pembolehubah jenis float32:
var a int = 10
var b float32 = float32(a)
2 . Penukaran jenis paksa antara jenis data asas
Di Golang, penukaran jenis paksa antara jenis data asas agak mudah adalah seperti berikut:
int ditukar kepada float32 atau float64 Jenis: <.>
var a int = 10var b float32 = float32(a)
var b int = int(a)
var b int, err = strconv.Atoi(a)
if err == nil {
fmt.Println(b)}int ditukar kepada jenis rentetan: var a int = 100
var b string = strconv.Itoa ( a)
type Example struct { x int y float32 } var example Example example.x = 10 example.y = 10.5 examplePtr := unsafe.Pointer(&example) exampleInt := uintptr(examplePtr) fmt.Println(exampleInt)} di atas In contoh, tidak selamat.Penunjuk(&contoh) menukarkan penunjuk struktur Contoh kepada penunjuk jenis tidak selamat.Penunjuk, dan kemudian menukarnya kepada nilai jenis uintptr Hasil keluaran akhir ialah alamat permulaan contoh struktur. Perlu diambil perhatian bahawa menggunakan pakej tidak selamat untuk penukaran jenis paksa akan membawa risiko yang besar, kerana fungsi dalam pakej tidak selamat akan memintas pemeriksaan jenis dan mekanisme keselamatan bahasa Go, yang mungkin menyebabkan pengecualian program. Isu seperti tingkah laku atau kebocoran ingatan. 4. Penukaran jenis paksa antara kepingan dan tatasusunanDi Golang, penukaran jenis paksa antara kepingan dan tatasusunan adalah agak biasa, dan penukaran jenis boleh dilakukan secara langsung. Sebagai contoh, tukar tatasusunan jenis int kepada kepingan jenis float32: var arr [5]int = [5]int{1, 2, 3, 4, 5}
var slice [] float32 =
([]float32)(unsafe.Pointer(&arr))
Atas ialah kandungan terperinci pelakon golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!