مپ گونه ای از آرایه انجمی در زبان گو میباشد (در زبان های دیگر hashes یا dicts نامیده میشود).
package main import "fmt" func main() {
برای درست کردن یک مپ خالی از نحو زیر و تابع درونی make
استفاده کنید:
" make(map[key-type]val-type)
."
m := make(map[string]int)
با استفاده از نحو name[key] = val
تنظیمات کلید/مقدار را انجام دهید.
m["k1"] = 7 m["k2"] = 13
یه مپ رو میتونید با دستور fmt.Println
نمایش بدید که هردو جفت کلید/مقدار رو نمایش میده.
fmt.Println("map:", m)
برای به دست آوردن مقدار یک کلید [name[key
:
v1 := m["k1"] fmt.Println("v1: ", v1)
تابع درونی len
تعداد جفت های کلید /مقدار را هنگامی که در مپ فراخوانی میشود را بر میگرداند.
fmt.Println("len:", len(m))
تابع درونی delete
جفت کلید/مقدار را از آرایه حذف میکند.
delete(m, "k2") fmt.Println("map:", m)
برگشتی اختیاری دوم مقداری را برمیگرداند وقتی که مقداری رو از مپ بگیره اگر کلیدش در مپ وجود داشته باشه.این میتونه برای رفع ابهام بین کلید های گم شده و کلید های صفر مقدار شبیه 0
یا ""
استفاده گردد. در اینجا ما به مقدارش کاری نداریم بنابراین اون رو با شناسه خالی _
نادیده میگیریم.
_, prs := m["k2"] fmt.Println("prs:", prs)
با این نحو شما میتونید یک مپ رو در یک خط تعریف و مقدار دهی اولیه کنید:
n := map[string]int{"foo": 1, "bar": 2} fmt.Println("map:", n) }
توجه داشته باشید که مپ ها به فرم [map[k:v k:v
نمایش داده میشن وقتی که ما از دستور fmt.Println
استفاده کنیم.
$ go run maps.go map: map[k1:7 k2:13] v1: 7 len: 2 map: map[k1:7] prs: false map: map[foo:1 bar:2]
<<آرایه های برشی -------------------------------------تکرار range>>