Rumah  >  Artikel  >  pembangunan bahagian belakang  >  peta penukaran jenis golang

peta penukaran jenis golang

王林
王林asal
2023-05-10 16:39:071205semak imbas

Dalam bahasa pengaturcaraan Golang, penukaran jenis adalah operasi yang sangat biasa, kerana apabila program berjalan, kita selalunya perlu menukar satu jenis data kepada yang lain. Sebagai contoh, kita mungkin perlu menukar rentetan kepada integer, atau struktur kepada format JSON, dsb. Antaranya, menukar jenis Peta juga merupakan operasi yang kerap digunakan Artikel ini akan memperkenalkan kaedah menukar satu jenis Peta kepada jenis Peta yang lain di Golang.

Jenis Peta di Golang ialah struktur data yang sangat berguna. Ia serupa dengan kamus dalam Python dan terdiri daripada set pasangan nilai kunci yang tidak tertib. Apabila menggunakan jenis Peta, kita boleh mencari dan mengubah suai nilai yang sepadan melalui kekunci. Apabila menggunakan jenis Peta di Golang, beri perhatian kepada perkara berikut:

  • Format definisi jenis Peta ialah: map[keyType]valueType, dengan keyType mewakili jenis data kunci dan valueType mewakili jenis data nilai .
  • Nilai sifar jenis Peta adalah sifar. Jika tidak dimulakan, ia berkelakuan sama seperti Peta kosong.
  • Kunci dalam jenis Peta mestilah jenis yang setanding, seperti integer, rentetan, penunjuk, antara muka, struktur, dsb.
  • Nilai dalam jenis Peta boleh terdiri daripada sebarang jenis.

Di Golang, Penukaran jenis Peta dilaksanakan melalui penukaran jenis paksa Berikut ialah contoh kod untuk pelaksanaan:

func main() {

// 要转换的map
oldMap := map[string]string{
    "name": "John",
    "age":  "30",
    "city": "New York",
}

// 将map[string]string转换为map[string]interface{}
newMap := make(map[string]interface{})
for k, v := range oldMap {
    newMap[k] = v
}

// 打印结果
fmt.Println(newMap)

}

Dalam kod contoh di atas, kami mentakrifkan pembolehubah jenis Peta bernama oldMap, yang terdiri daripada tiga pasangan nilai kunci. Kami mahu menukar jenis Peta ini kepada jenis Map[string]interface{}. Langkah-langkahnya adalah seperti berikut:

  • Tentukan pembolehubah jenis Peta baharu newMap, yang jenis kuncinya ialah rentetan dan jenis nilai ialah jenis antara muka.
  • Gunakan gelung for untuk melintasi setiap item dalam OldMap dan tambahkannya pada NewMap pembolehubah Peta baharu.
  • Akhir sekali, kami berjaya menukar jenis Peta lama kepada jenis [rentetan]antara muka{} Peta.

Satu lagi perkara penting ialah semasa proses penukaran, kita juga perlu memberi perhatian sama ada jenis nilai dalam jenis Peta sumber dan jenis Peta sasaran adalah serasi. Jika jenis nilai dalam jenis Peta sumber mesti ditukar kepada jenis nilai dalam jenis Peta sasaran, penukaran jenis diperlukan, jika tidak, ralat penyusunan akan berlaku.

Berikut ialah satu lagi contoh kod untuk menukar jenis Peta[rentetan]antara muka{} kepada jenis Map[rentetan]:

func main() {

// 要转换的map
oldMap := map[string]interface{}{
    "name": "John",
    "age":  30,
    "city": "New York",
}

// 将map[string]interface{}转换为map[string]string
newMap := make(map[string]string)
for k, v := range oldMap {
    newMap[k] = fmt.Sprint(v)
}

// 打印结果
fmt.Println(newMap)

}

Dalam kod contoh di atas, kami mentakrifkan pembolehubah jenis Peta bernama oldMap, yang terdiri daripada tiga pasangan nilai kunci. Kami ingin menukar jenis Map[string]interface{} ini kepada Map[string]type type. Langkah-langkahnya adalah seperti berikut:

  • Tentukan pembolehubah jenis Peta baharu newMap, yang jenis kuncinya ialah rentetan dan jenis nilai ialah rentetan.
  • Gunakan gelung for untuk melelakan setiap item dalam OldMap dan gunakan fmt.Sprint(v) untuk menukar nilai kepada rentetan, dan kemudian tambahkannya pada pembolehubah Peta baharu newMap.
  • Akhir sekali, kami berjaya menukar jenis Peta lama kepada jenis rentetan [rentetan] Peta.

Ringkasnya, Penukaran jenis Peta ialah operasi yang sangat biasa dalam pengaturcaraan Golang. Beri perhatian kepada sama ada jenis nilai dalam jenis Peta sumber dan jenis Peta sasaran adalah serasi dan lakukan penukaran jenis yang diperlukan untuk mengelakkan ralat penyusunan atau masalah lain.

Atas ialah kandungan terperinci peta penukaran jenis 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
Artikel sebelumnya:penutupan proses golang dbArtikel seterusnya:penutupan proses golang db