Periksa Kunci
Pelajaran 20 dari 21 dalam kursus Slice dan Map di Go di Coddy.
Sampai saat ini, kita telah mempelajari cara menambahkan dan menghapus nilai dari map. Dalam pelajaran ini, kita akan mempelajari cara memeriksa apakah map berisi kunci tertentu. Kita dapat melakukannya menggunakan kondisi if, seperti yang ditunjukkan pada contoh berikut:
var books = map[string]int{
"Golang": 1,
"Python": 2,
"Rust": 3,
}
if v, k := books["Python"]; k{
fmt.Println(v)
}Dalam contoh ini, kita memiliki map bernama books. Dengan menggunakan if, kita memeriksa apakah map berisi kunci "Python". Jika ya, kita mencetak nilai terkait. Dalam contoh ini, hasilnya adalah 2.
k dalam <strong>books["Python"]; k{</strong> menyimpan nilai boolean, yaitu true atau false. Jika kunci tersebut ada, nilainya akan true, dan kita dapat memeriksanya dengan mencetaknya ke layar:
if v, k := books["Python"]; k{
fmt.Println(k,v)
}Output-nya adalah:
true 1Go memiliki versi yang lebih sederhana, yang dapat ditulis seperti ini:
v, k := books ["a"]
fmt.Println(v, k)Ini akan mengembalikan nilai v dan k berupa nilai boolean true (jika kunci tersebut ada) atau false (jika kunci tersebut tidak ada):
0 false
Dalam kasus ini, a tidak ada di dalam map, jadi hasilnya adalah 0 dan false.
Tantangan
MudahTulis program yang menerima input dari pengguna sebagai kunci, lalu memeriksa apakah kunci ini ada di map yang diberikan:
- Jika ada, cetak pesan
<strong>"{key} exists with a value of {value}"</strong>.
{key} adalah kunci yang dimasukkan oleh pengguna, dan {value} adalah nilai yang sesuai di dalam map. - Jika tidak ada, cetak
<strong>"{key} does not exist in the map"</strong>.
Coba sendiri
package main
import "fmt"
func main() {
// Ambil input dari pengguna sebagai key. Jangan ubah ini!
var key string
fmt.Scanln(&key)
// Map books. Jangan ubah ini!
books := map[string]int{
"Golang": 1,
"Python": 2,
"Rust": 3,
"Lua": 4,
"Java": 5,
}
// Periksa apakah key ada di map
}Semua pelajaran di Slice dan Map di Go
1Pengantar
PengantarLatihan sendiri: Compiler Go online