Jenis data bahasa Go didedahkan: dipaparkan sepenuhnya

PHPz
Lepaskan: 2024-01-09 14:29:46
asal
4790 orang telah melayarinya

Jenis data bahasa Go didedahkan: dipaparkan sepenuhnya

Nyahsulit jenis data bahasa Go: sepintas lalu, contoh kod khusus diperlukan

1 Pengenalan
Jenis data dalam bahasa pengaturcaraan amat penting untuk pembangun, ia menentukan jenis yang boleh kita simpan dan kendalikan data. . Dalam bahasa Go, konsep jenis data adalah serupa dengan bahasa pengaturcaraan lain, tetapi bahasa Go mempunyai sistem dan ciri jenis data yang tersendiri. Artikel ini akan memberi anda pemahaman yang mendalam tentang jenis data bahasa Go dan menguraikan keluarga ini melalui contoh kod tertentu.

2. Jenis data asas

Jenis data asas bahasa Go termasuk: boolean, integer, titik terapung, nombor kompleks, rentetan dan aksara. Ia adalah bool, int, float, kompleks, rentetan dan rune Mari kita lihat secara berasingan.

  1. Jenis Boolean (bool)
    Jenis Boolean hanya mempunyai dua nilai iaitu benar dan palsu. Seperti bahasa lain, kita boleh menggunakan jenis Boolean untuk menilai dan mengawal aliran program.

Contoh kod:

package main

import "fmt"

func main() {
   var b bool = true
   fmt.Println(b)
}
Salin selepas log masuk
  1. Integer (int)
    Jenis data integer boleh menyimpan nilai integer dan saiznya berkaitan dengan seni bina komputer asas. Dalam bahasa Go, integer dibahagikan kepada integer bertanda dan integer tidak bertanda. Berikut ialah beberapa jenis data integer yang biasa digunakan:
  • int8: integer 8-bit yang ditandatangani, antara -128 hingga 127.
  • int16: Integer 16-bit yang ditandatangani, julat nilai ialah -32768 hingga 32767.
  • int32: Integer 32-bit yang ditandatangani, julat nilai ialah -2147483648 hingga 2147483647.
  • int64: integer 64-bit yang ditandatangani, julat nilai ialah -9223372036854775808 hingga 9223372036854775807.
  • uint8: Integer 8-bit tidak ditandatangani, julat nilai ialah 0 hingga 255.
  • uint16: Integer 16-bit yang tidak ditandatangani, julat nilai ialah 0 hingga 65535.
  • uint32: Integer 32-bit yang tidak ditandatangani, antara 0 hingga 4294967295.
  • uint64: Integer 64-bit yang tidak ditandatangani, antara 0 hingga 18446744073709551615.
  • int: Bergantung pada bilangan bit sistem pengendalian dan pengkompil, sistem pengendalian 32-bit ialah integer 32-bit, dan sistem pengendalian 64-bit ialah integer 64-bit.
  • uint: Bergantung pada bilangan bit dalam sistem pengendalian dan pengkompil, sistem pengendalian 32-bit ialah integer tak bertanda 32-bit, dan sistem pengendalian 64-bit ialah integer tak bertanda 64-bit.

Contoh kod:

package main

import "fmt"

func main() {
   var i int = 10
   fmt.Println(i)
}
Salin selepas log masuk
  1. Titik terapung (terapung)
    Jenis data titik terapung boleh menyimpan nilai perpuluhan dan mempunyai dua ketepatan: float32 dan float64.
  • float32: nombor titik terapung ketepatan tunggal, tepat hingga 7 tempat perpuluhan.
  • float64: Nombor titik terapung berketepatan dua kali, tepat hingga 15 tempat perpuluhan.

Contoh kod:

package main

import "fmt"

func main() {
   var f float32 = 3.14
   fmt.Println(f)
}
Salin selepas log masuk
  1. Kompleks (kompleks)
    Jenis nombor kompleks digunakan untuk mewakili nombor kompleks yang bahagian nyata dan khayalannya adalah kedua-dua jenis titik terapung. Dalam bahasa Go, jenis kompleks mempunyai dua ketepatan: complex64 dan complex128.
  • kompleks64: Bahagian nyata dan bahagian khayalan diwakili oleh dua pelampung32.
  • kompleks128: Bahagian nyata dan bahagian khayalan diwakili oleh dua pelampung64.

Contoh kod:

package main

import "fmt"

func main() {
   var c complex64 = complex(1, 2)
   fmt.Println(c)
}
Salin selepas log masuk
  1. String (rentetan)
    String ialah jenis data dalam bahasa Go, yang digunakan untuk mewakili rentetan aksara. Rentetan tidak boleh diubah, iaitu, ia tidak boleh diubah suai dalam rentetan asal, tetapi kita boleh memproses rentetan melalui beberapa fungsi dan operasi. Dalam bahasa Go, rentetan disertakan dalam petikan berganda (").

Kod contoh:

package main

import "fmt"

func main() {
   var s string = "Hello, World!"
   fmt.Println(s)
}
Salin selepas log masuk
  1. Watak (rune)
    Watak (rune) ialah jenis data yang digunakan untuk mewakili aksara Unicode dalam bahasa Go, Ia sebenarnya adalah jenis integer yang mewakili titik kod aksara Unicode Aksara diwakili oleh petikan tunggal (')

Kod contoh:

package main

import "fmt"

func main() {
   var r rune = '你'
   fmt.Println(r)
}
Salin selepas log masuk

3. Jenis data komposit

Selain jenis data asas, bahasa Go juga menyediakan. Beberapa jenis data komposit, termasuk tatasusunan, hirisan, peta, struktur, antara muka dan fungsi

  1. Tatasusunan
    Tatasusunan ialah jenis tetap Struktur data saiz yang boleh menyimpan satu siri elemen jenis yang sama, saiznya daripada tatasusunan adalah tetap dan tidak boleh diubah

Kod contoh:

package main

import "fmt"

func main() {
   var arr [3]int
   arr[0] = 1
   arr[1] = 2
   arr[2] = 3
   fmt.Println(arr)
}
Salin selepas log masuk
  1. Slice
    Slice ialah jenis struktur data bersaiz, yang boleh dikembangkan secara automatik mengikut keperluan tatasusunan atau kepingan lain melalui operator slice [:]

Contoh kod:

package main

import "fmt"

func main() {
   arr := []int{1, 2, 3}
   fmt.Println(arr)
}
Salin selepas log masuk
  1. Kamus (peta)
    Kamus ialah koleksi tidak tertib yang terdiri daripada kunci dan nilai Dalam bahasa Go, kamus dicipta menggunakan make fungsi

Contoh kod:

package main

import "fmt"

func main() {
   dict := make(map[string]int)
   dict["apple"] = 1
   dict["banana"] = 2
   dict["cherry"] = 3
   fmt.Println(dict)
}
Salin selepas log masuk
  1. Struktur (struktur)
    Struktur ialah jenis data tersuai, yang boleh mengandungi berbilang medan Setiap medan mempunyai jenis dan nama sendiri menggunakan kata kunci jenis

Contoh kod:

package main

import "fmt"

type Person struct {
   Name string
   Age  int
}

func main() {
   p := Person{"Alice", 18}
   fmt.Println(p)
}
Salin selepas log masuk
  1. Antaramuka
    Antara muka ialah jenis data abstrak yang mentakrifkan satu set kaedah Antara muka boleh dilaksanakan dengan jenis konkrit, dan kaedah yang melaksanakan antara muka boleh dipanggil melalui jenis antara muka

Kod contoh:

package main

import "fmt"

type Shape interface {
   Area() float64
}

type Circle struct {
   Radius float64
}

func (c Circle) Area() float64 {
   return c.Radius * c.Radius * 3.14
}

func main() {
   var s Shape
   c := Circle{5}
   s = c
   fmt.Println(s.Area())
}
Salin selepas log masuk
  1. 函数(function)
    函数是一段可重复使用的代码块,它可以接受参数并返回结果。在Go语言中,函数是一等公民,可以像其他值类型一样被传递和赋值。

示例代码:

package main

import "fmt"

func Add(a, b int) int {
   return a + b
}

func main() {
   sum := Add(1, 2)
   fmt.Println(sum)
}
Salin selepas log masuk

总结
本文通过具体的代码示例对Go语言的数据类型进行了解密,详细介绍了Go语言的基本数据类型和复合数据类型。希望本文可以帮助大家更好地理解和应用Go语言的数据类型。

Atas ialah kandungan terperinci Jenis data bahasa Go didedahkan: dipaparkan sepenuhnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan