Slices dan pembolehubah berbeza dalam bahasa Go: slices ialah jenis rujukan dan merujuk kepada tatasusunan asas, manakala pembolehubah menyimpan nilai secara langsung. Tugasan kepada pembolehubah mencipta salinan baharu, manakala tugasan kepada kepingan mencipta kepingan baharu yang menunjuk kepada tatasusunan yang sama. Slices menggunakan rujukan, jadi mengubah suai satu kepingan boleh menjejaskan kepingan lain yang merujuk tatasusunan yang sama, tetapi pembolehubah tidak terjejas.
Slices dalam bahasa Go ialah jenis rujukan yang boleh menghala ke tatasusunan asas. Ini tidak seperti pembolehubah, yang menyimpan nilainya secara langsung.
Sekeping terdiri daripada tiga bahagian:
mySlice := []int{1, 2, 3} // 创建一个整型切片,包含元素 1、2 和 3
Pembolehubah menyimpan nilainya secara langsung dan bukannya merujuk struktur data asas.
myVar := 1 // 创建一个整型变量,值为 1
1. Tugasan
Tugasan kepada pembolehubah mencipta salinan baharu pembolehubah:
var1 := 1 var2 := var1 var1 = 2 // 修改 var1 的值 fmt.Println(var1, var2) // 输出:2 1
Dan tugasan kepada kepingan mencipta kepingan baharu yang menunjuk ke tatasusunan asas yang sama:
slice1 := []int{1, 2, 3} slice2 := slice1 slice1[0] = 4 // 修改 slice1 中的元素 fmt.Println(slice1, slice2) // 输出:\[4 2 3\] \[4 2 3\]
Pembolehubah Terurus Memori
menyimpan nilainya secara langsung, jadi menetapkan pembolehubah baharu tidak menjejaskan pembolehubah lain. Slices menggunakan rujukan, jadi mengubah suai kepingan boleh menjejaskan kepingan lain yang merujuk tatasusunan asas yang sama.3. Melepasi kepada fungsi
Pembolehubah dihantar kepada fungsi sebagai nilai, manakala kepingan dihantar ke fungsi sebagai rujukan. Ini bermakna fungsi boleh mengubah suai kepingan, tetapi bukan pembolehubah. Contoh PraktikalPertimbangkan fungsi yang mengambil kepingan dan menyusunnya. Pembolehubah dianggap sebagai dua kepingan berbeza, walaupun ia merujuk kepada tatasusunan asas yang sama. nums
和 result
rreeee
Atas ialah kandungan terperinci Fahami perbezaan antara kepingan dan pembolehubah dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!