Go cơ bản
Go Maps
Store values under keys: add, read, check, delete and loop in a fixed order.
Bạn sẽ học được gì
- Creating and updating
- The value, ok form
- Sorting the keys
stock
"apple"5"pear"5"plum"1Values found by key
A map stores values under keys, so you can find a value quickly by its key. It is Go's version of a dictionary or hash table.
Reading a missing key returns the zero value, so the second result, found, tells you whether the key exists. delete removes a key. A map has no fixed order, so the keys are collected and sorted before printing.
Những điểm quan trọng
- A missing key reads as the zero value.
- value, found :=
m[key]tells you if it exists. - Map order is random: sort the keys.
Ví dụ Go chạy được
main.go
package main
import (
"fmt"
"sort"
)
func main() {
stock := map[string]int{"apple": 3, "pear": 5}
stock["plum"] = 1
stock["apple"] += 2
fmt.Println(stock["apple"], len(stock))
count, found := stock["kiwi"]
fmt.Println(count, found)
delete(stock, "pear")
names := make([]string, 0, len(stock))
for name := range stock {
names = append(names, name)
}
sort.Strings(names) // map order is random, so sort the keys
for _, name := range names {
fmt.Println(name, stock[name])
}
}
5 3
0 false
apple 5
plum 1Luyện tập
Mở ví dụ trong trình biên dịch online, đổi một giá trị hoặc thêm một dòng, rồi đoán kết quả trước khi chạy. Sau đó cố ý làm code bị lỗi và đọc thông báo của trình biên dịch.
Bạn học xong bài này chưa?
Đánh dấu đã học để theo dõi tiến độ của bạn.
Tiến độ của bạn đang được lưu trong trình duyệt này Đăng nhập để giữ tiến độ trên mọi thiết bị.
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
- Tần suất ký tự Đếm số lần xuất hiện của mỗi ký tự. Dễ
- Ký Tự Độc Nhất Đầu Tiên Tìm ký tự đầu tiên chỉ xuất hiện một lần. Dễ