Bahasa Go ialah bahasa yang disusun secara statik dengan ciri-ciri berikut: Sistem jenis: berdasarkan jenis berstruktur, termasuk jenis asas, tatasusunan, kepingan, struktur, antara muka, fungsi dan jenis saluran. Pengisytiharan jenis pembolehubah: mesti diisytiharkan secara eksplisit dan jenis tidak boleh diubah. Pengembalian jenis ungkapan: Pengkompil menyemak jenis pengembalian ungkapan, jika tidak, ralat dilaporkan. Penyusunan dan Tafsiran: Pengkompil menyusun atur cara dan memeriksa ketepatan jenis, dan jurubahasa mentafsir perwakilan perantaraan ke dalam kod mesin. Jenis penegasan: Gunakan pernyataan suis untuk menyemak dan menukar jenis pembolehubah semasa masa jalan.
Go ialah bahasa pengaturcaraan yang disusun secara statik. Ini bermakna sebelum program Go disusun, sistem jenis menyemak sama ada jenis pembolehubah dan ungkapan adalah serasi.
Sistem jenis Go adalah berdasarkan jenis berstruktur, termasuk jenis asas berikut:
func Sum(a int, b int) int { return a + b }
b
mestilah taip int
kerana fungsi Sum
mengembalikan jenis int
. a
和 b
必须是 int
类型,因为 Sum
函数返回 int
类型。a + b
表达式必须返回 int
类型,因为类型系统要求函数返回 int
类型。如果类型不兼容,编译器将报错:
invalid operation: a + b (mismatched types int and float32)
类型断言用于在运行时检查和转换变量的类型。switch
语句可用于执行类型断言:
switch v := interface{}(x).(type) { case int: fmt.Println("x is an int") case string: fmt.Println("x is a string") default: fmt.Println("x is not an int or a string") }
如果 x
是 int
类型,则打印"x is an int"
;如果 x
是 string
类型,则打印"x is a string"
;否则打印"x is not an int or a string"
a + b
ungkapan mesti mengembalikan jenis int
kerana sistem jenis memerlukan fungsi untuk mengembalikan jenis int
.
switch
boleh digunakan untuk melakukan penegasan jenis: 🎜rrreee🎜Jika x
daripada jenis int
, cetak "x ialah int"; Jika <code>x
daripada jenis string
, cetak "x ialah rentetan"
; jika tidak, cetak "x bukan int atau rentetan"
. 🎜Atas ialah kandungan terperinci Pergi analisis ciri bahasa statik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!