Jenis penegasan dalam Go digunakan untuk menukar nilai antara muka kepada jenis yang lebih khusus. Ia terdiri daripada langkah-langkah berikut: Isytiharkan nilai antara muka dan jenis sasaran. Tukar nilai antara muka kepada jenis sasaran menggunakan sintaks penegasan jenis dan tetapkan hasilnya kepada pembolehubah. Gunakan pembolehubah boolean untuk menyemak sama ada penukaran berjaya. Jika penukaran gagal, pembolehubah sasaran akan ditetapkan kepada sifar.
Penegasan jenis ialah operasi khas dalam Go yang membolehkan kami menukar nilai antara muka kepada jenis yang lebih khusus. Ini berguna apabila bekerja dengan data yang tidak ditaip atau apabila anda perlu menyemak jenis pembolehubah semasa masa jalan.
Syntax
Sintaks penegasan jenis adalah seperti berikut:
value, ok := value.(Type)
di mana:
value
是要转换的接口值。Type
是我们想要转换到的类型。ok
是一个布尔值,表示转换是否成功。实战案例
假设我们有一个接口值 i
,其中存储了一个 Person
结构体:
type Person struct { Name string Age int } func main() { i := Person{"John", 30} }
如果我们想要将 i
转换为 Person
类型,我们可以使用类型断言:
if person, ok := i.(Person); ok { fmt.Println(person.Name, person.Age) }
如果转换成功,它将把 person
赋值为 Person
类型,并将 ok
赋值为 true
。否则,person
将被设置为 nil
,ok
将被设置为 false
。
注意
value
将被设置为 nil
,ok
将被设置为 false
。ok
ok
ialah nilai Boolean yang menunjukkan sama ada penukaran berjaya. 🎜🎜🎜🎜Kes praktikal🎜🎜🎜 Katakan kita mempunyai nilai antara muka i
, yang menyimpan struktur Orang
: 🎜rrreee🎜Jika kita ingin menukar i ditukar kepada jenis <code>Orang
, kita boleh menggunakan penegasan jenis: 🎜rrreee🎜Jika penukaran berjaya, ia akan menetapkan orang
kepada Orang
taip dan tetapkan ok
kepada true
. Jika tidak, orang
akan ditetapkan kepada nil
dan ok
akan ditetapkan kepada false
. 🎜🎜🎜Nota🎜🎜🎜🎜Jenis penegasan hanya boleh digunakan untuk nilai antara muka. 🎜🎜Jika penukaran jenis gagal, value
akan ditetapkan kepada nil
dan ok
akan ditetapkan kepada false
. 🎜🎜Apabila menggunakan penegasan jenis, pastikan anda menyemak nilai ok
untuk memastikan penukaran berjaya. 🎜🎜Atas ialah kandungan terperinci Cara menggunakan penegasan jenis untuk penukaran jenis dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!