Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penerokaan mendalam jenis data dan pemula pembolehubah di Golang

Penerokaan mendalam jenis data dan pemula pembolehubah di Golang

WBOY
WBOYasal
2023-12-23 09:46:11860semak imbas

Penerokaan mendalam jenis data dan pemula pembolehubah di Golang

Penerokaan mendalam jenis data dan pemulaan pembolehubah dalam Golang

Dalam bahasa Go, pemulaan jenis data dan pembolehubah adalah masalah yang sering kita perlu hadapi. Jenis data yang betul dan permulaan pembolehubah memastikan keteguhan dan ketepatan program anda. Dalam artikel ini, kami akan menyelidiki pengetahuan tentang jenis data dan permulaan pembolehubah di Golang dan memberikan contoh kod khusus.

  1. Inisialisasi jenis data asas

Jenis data asas dalam Golang termasuk bool, int, float, rentetan, dsb. Permulaan jenis data ini sangat mudah dan boleh dimulakan secara langsung menggunakan operasi tugasan. Berikut ialah beberapa contoh:

var b bool  // 声明一个bool类型变量b,未初始化,默认值为false

var i int   // 声明一个int类型变量i,未初始化,默认值为0
j := 10     // 声明并初始化一个int类型变量j,值为10

var f float32     // 声明一个float32类型变量f,未初始化,默认值为0
g := 3.14        // 声明并初始化一个float64类型变量g,值为3.14

var s string     // 声明一个string类型变量s,未初始化,默认值为空字符串
t := "Hello Go"  // 声明并初始化一个string类型变量t,值为"Hello Go"
  1. Permulaan tatasusunan dan kepingan

Tatasusunan dan kepingan ialah struktur data yang digunakan dalam Golang untuk menyimpan berbilang elemen daripada jenis yang sama. Mereka dimulakan sedikit berbeza.

Tatasusunan boleh dimulakan menggunakan literal tatasusunan atau gelung. Berikut ialah beberapa contoh:

var a [3]int               // 声明一个长度为3的int类型数组a,未初始化,默认值为[0,0,0]
b := [4]string{"one", "two", "three", "four"}  // 声明并初始化一个长度为4的string类型数组b
c := [...]int{1, 2, 3, 4, 5}                   // 声明并初始化一个长度根据初始化元素个数自动确定的int类型数组c

for i := 0; i < len(a); i++ {
    a[i] = i + 1  // 使用循环给数组a赋值
}

Sekeping boleh dimulakan menggunakan sekeping literal, atau anda boleh menggunakan fungsi buat untuk mencipta sekeping. Berikut ialah beberapa contoh:

d := []int{1, 2, 3, 4, 5}                      // 声明一个int类型切片d,并赋予初始值
e := make([]string, 3)                        // 声明一个长度为3的string类型切片e,未初始化,默认值为["","",""]
f := make([]float64, 5, 10)                    // 声明一个长度为5,容量为10的float64类型切片f,未初始化,默认值为[0,0,0,0,0]
  1. Inisialisasi struktur

Struktur ialah jenis kompleks tersuai di Golang yang boleh mengandungi berbilang medan jenis yang berbeza. Struktur boleh dimulakan menggunakan literal struktur, atau fungsi baharu boleh digunakan untuk mencipta penunjuk struktur. Berikut ialah beberapa contoh:

type person struct {
    name string
    age  int
}

var p1 person                                 // 声明一个person类型变量p1,未初始化,默认值为{name:"", age:0}
p1.name = "Alice"                             // 给结构体字段赋值
p1.age = 25
p2 := person{"Bob", 30}                       // 声明并初始化一个person类型变量p2
p3 := person{
    name: "Charlie",
    age:  35,
}

p4 := new(person)                             // 声明一个person类型变量p4,并分配内存,返回的是指向新分配内存的指针
p4.name = "Dave"
p4.age = 40
  1. Inisialisasi jenis koleksi

Selain jenis data asas, tatasusunan, kepingan dan struktur, terdapat jenis koleksi lain di Golang, seperti peta dan saluran. Mereka juga mempunyai kaedah permulaan mereka sendiri.

pemulaan peta menggunakan fungsi make untuk mencipta peta kosong dan menetapkan nilai menggunakan pasangan nilai kunci. Berikut ialah contoh:

m := make(map[string]int)       // 声明一个string到int的映射类型变量m,并分配内存
m["apple"] = 1                  // 给映射类型变量m赋值
m["banana"] = 2
m["cherry"] = 3

Pengamatan saluran menggunakan fungsi buat untuk mencipta saluran tidak buffer atau buffer. Berikut ialah dua contoh:

ch1 := make(chan int)           // 声明一个无缓冲的int类型channel变量ch1
ch2 := make(chan string, 10)    // 声明一个容量为10的string类型channel变量ch2,具有缓冲功能

Melalui contoh di atas, kami memahami kaedah permulaan jenis data dan pembolehubah di Golang, termasuk pengamulaan jenis data asas, tatasusunan, kepingan, struktur, peta dan saluran. Memulakan jenis data dan pembolehubah dengan betul boleh meningkatkan keteguhan dan ketepatan program anda. Dalam pengaturcaraan sebenar, kita boleh memilih kaedah permulaan yang sesuai mengikut keperluan khusus untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Penerokaan mendalam jenis data dan pemula pembolehubah di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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