
مپ گونه ای از آرایه انجمی در زبان گو میباشد (در زبان های دیگر 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>>