Apabila pengaturcaraan dalam golang, kami sering menggunakan kata kunci julat, yang digunakan untuk melintasi struktur data seperti tatasusunan, kepingan, peta dan saluran. Walau bagaimanapun, semasa proses traversal, jika kita ingin mengubah suai elemen yang dilalui, kita akan menghadapi beberapa masalah. Artikel ini akan menerangkan cara menggunakan julat untuk mengubah suai elemen dalam tatasusunan, kepingan, peta dan saluran.
Apabila merentasi tatasusunan dan kepingan, kata kunci julat mengembalikan salinan elemen, bukan elemen itu sendiri. Oleh itu, jika kita ingin mengubah suai elemen, kita perlu menggunakan penunjuk elemen. Berikut ialah contoh kod untuk mengubah suai elemen tatasusunan dan kepingan:
arr := [3]int{1, 2, 3} for i := range arr { temp := &arr[i] *temp = *temp*2 } slice := []int{1, 2, 3} for i := range slice { temp := &slice[i] *temp = *temp*2 }
Temp pembolehubah sementara digunakan dalam kod untuk menyimpan penunjuk elemen dan mengubah suai nilai elemen melalui penunjuk.
Apabila merentasi peta, kata kunci julat mengembalikan salinan pasangan nilai kunci, bukan elemen itu sendiri. Jadi, jika kita ingin mengubah suai elemen, kita perlu menggunakan kunci untuk mengakses elemen dan mengubah suai nilainya. Berikut ialah contoh kod untuk mengubah suai elemen peta:
oldMap := map[string]int{"a": 1, "b": 2, "c": 3} newMap := make(map[string]int) for k, v := range oldMap { newMap[k] = v*2 }
Dalam kod, apabila merentasi peta, kekunci digunakan untuk mengakses elemen dan mengubah suai nilainya. Ambil perhatian bahawa anda tidak perlu menggunakan penunjuk apabila mengubah suai nilai elemen dalam peta.
Apabila melintasi saluran, kata kunci julat mengembalikan salinan elemen, bukan elemen itu sendiri. Oleh itu, jika kita ingin mengubah suai elemen dalam saluran, kita perlu menggunakan operasi hantar saluran untuk mengubah suai nilai dalam saluran. Berikut ialah contoh kod untuk mengubah suai elemen dalam saluran:
ch := make(chan int, 3) ch <- 1 ch <- 2 ch <- 3 for i := range ch { ch <- i*2 }
Dalam kod, operasi hantar saluran digunakan untuk mengubah suai nilai elemen kepada dua kali ganda nilai asalnya. Perlu diingatkan bahawa apabila mengubah suai elemen dalam saluran, operasi penghantaran saluran mesti digunakan untuk menghantar nilai yang diubah suai ke saluran.
Ringkasan:
Apabila menggunakan kata kunci julat untuk merentasi tatasusunan, hirisan, peta dan saluran, jika kita ingin mengubah suai elemen yang dilalui, kita perlu menggunakan penunjuk elemen (tatasusunan dan slice), gunakan kunci untuk mengakses elemen (peta), atau gunakan operasi penghantaran saluran untuk mengubah suai nilai elemen (saluran). Perlu diingat bahawa apabila menggunakan julat untuk mengubah suai elemen, anda mesti berhati-hati agar tidak menimbulkan masalah seperti gelung tak terhingga atau keadaan perlumbaan dalam gelung.
Atas ialah kandungan terperinci Cara menggunakan julat untuk mengubah suai elemen dalam tatasusunan/kepingan/peta dan saluran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!