map

از map زمانی استفاده می‌شود که بخواهید اطلاعات را بر اساس کلید/ مقدار ذخیره کنید. به عنوان مثال نام دانش آموز و نمره او در امتحان. برای ایجاد یک map از تابع داخلی ()make به صورت زیر استفاده می‌شود:

map_variable = make(map[key_data_type]value_data_type)

به مثال زیر توجه کنید:

students := make(map[string]int)

students["Jenny"]     = 87
students["Peter"]     = 70
students["Mary Jane"] = 64
students["Azhar"]     = 79

در مثال بالا یک map ایجاد کرده‌ایم که نوع کلیدهای آن رشته‌ای (string) و مقادیر آن عددی (int) است. map بالا را به صورت زیر هم می‌توان ایجاد کرد:

students := map[string]int {
    "Jenny"    : 87,
    "Peter"    : 10,
    "Mary Jane": 64,
    "Azhar"    : 79,
}

در روش بالا متد ()make حذف می‌شود و بین کلید/مقدارها علامت: و بین هر دو کلید مقدار علامت, قرار می‌گیرد. برای چاپ مقدار یک کلید مثلاً Azhar هم به صورت زیر عمل می‌شود:

fmt.Println(students["Azhar"])
79

یعنی ابتدا نامی که برای map انتخاب کرده‌اید را نوشته و سپس در داخل براکت نام کلید را می‌نویسید. برای چاپ تمام کلید/مقدارها کافیست فقط نام map را بنویسید:

fmt.Println(students)
map[Peter:10 Mary Jane:64 Azhar:79 Jenny:87]

برای حذف یک مقدار هم می‌توان از تابع ()delete به صورت زیر استفاده کرد:

delete(students, "Peter")

این متد دو آرگومان می‌گیرد، اولی نام map و دیگری کلیدی که قرار است حذف شود.