Dalam bahasa Go, jenis data boleh dibahagikan kepada jenis nilai dan jenis rujukan. Jenis nilai menyimpan nilai data secara langsung, manakala jenis rujukan menyimpan alamat memori data. Dalam bahasa Go, jenis data berikut ialah jenis rujukan:
Contoh kod:
package main import "fmt" func main() { // 创建一个切片 nums := []int{1, 2, 3, 4, 5} // 修改切片的第一个元素 nums[0] = 100 // 打印切片的值 fmt.Println(nums) // 输出 [100 2 3 4 5] }
Contoh kod:
package main import "fmt" func main() { // 创建一个映射 person := map[string]int{ "Alice": 25, "Bob": 30, "Charlie": 35, } // 修改映射的值 person["Bob"] = 32 // 打印映射的值 fmt.Println(person) // 输出 map[Alice:25 Bob:32 Charlie:35] }
Contoh kod:
package main import "fmt" func main() { // 创建一个通道 ch := make(chan int) // 写入数据到通道 go func() { ch <- 10 }() // 读取通道数据 data := <-ch // 打印通道数据 fmt.Println(data) // 输出 10 }
Selain jenis data yang dinyatakan di atas, fungsi juga merupakan jenis rujukan. Dalam bahasa Go, fungsi boleh dihantar sebagai parameter, mengembalikan nilai dan boleh diberikan kepada pembolehubah. Fungsi, sebagai jenis rujukan, boleh dikongsi dan dikendalikan antara berbilang coroutine.
Ringkasnya, dalam bahasa Go, kepingan, peta, saluran dan fungsi adalah jenis rujukan ia menyimpan alamat memori data, dan beroperasi padanya akan menjejaskan data asas secara langsung. Oleh itu, apabila menggunakan jenis data ini, anda perlu memberi perhatian kepada ciri-ciri jenis rujukan untuk mengelakkan kekeliruan data atau pengubahsuaian tidak sengaja disebabkan rujukan.
Atas ialah kandungan terperinci Jenis data dalam bahasa Go yang manakah merupakan jenis rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!