73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Go Maps | |||
|  | localeTitle: الذهاب خرائط | |||
|  | --- | |||
|  | ## الذهاب خرائط
 | |||
|  | 
 | |||
|  | خريطة تسمى " _قاموس"_ بلغات أخرى ، ومفاتيح "خرائط" للقيم. يتم الإعلان عن خريطة مثل هذا: | |||
|  | 
 | |||
|  |  `var m map[Key]Value  | |||
|  | `  | |||
|  | 
 | |||
|  | لا تحتوي هذه الخريطة على مفاتيح ولا يمكن إضافة مفاتيح إليها. لإنشاء خريطة ، استخدم وظيفة `make` : | |||
|  | 
 | |||
|  |  `m = make(map[Key]Value)  | |||
|  | `  | |||
|  | 
 | |||
|  | يمكن استخدام أي شيء كمفتاح أو كقيمة. | |||
|  | 
 | |||
|  | ### تعديل الخرائط
 | |||
|  | 
 | |||
|  | في ما يلي بعض الإجراءات الشائعة في الخرائط. | |||
|  | 
 | |||
|  | #### إدخال / تغيير العناصر
 | |||
|  | 
 | |||
|  | إنشاء أو تغيير عنصر `foo` في الخريطة `m` : | |||
|  | 
 | |||
|  |  `m["foo"] = bar  | |||
|  | `  | |||
|  | 
 | |||
|  | #### الحصول على العناصر
 | |||
|  | 
 | |||
|  | احصل على عنصر مع مفتاح `foo` في الخريطة `m` : | |||
|  | 
 | |||
|  |  `element = m["foo"]  | |||
|  | `  | |||
|  | 
 | |||
|  | #### حذف العناصر
 | |||
|  | 
 | |||
|  | حذف عنصر مع مفتاح `foo` في الخريطة `m` : | |||
|  | 
 | |||
|  |  `delete(m, "foo")  | |||
|  | `  | |||
|  | 
 | |||
|  | #### تحقق مما إذا كان المفتاح قد تم استخدامه
 | |||
|  | 
 | |||
|  | تحقق من استخدام مفتاح `foo` في الخريطة `m` : | |||
|  | 
 | |||
|  |  `element, ok = m["foo"]  | |||
|  | `  | |||
|  | 
 | |||
|  | إذا كان `ok` `true` ، فقد تم استخدام المفتاح ويحمل `element` القيمة عند `m["foo"]` . إذا كان `ok` `false` ، فهذا يعني أن المفتاح لم يتم استخدامه وأن `element` يحتفظ بقيمه الصفرية. | |||
|  | 
 | |||
|  | ### الخريطة حرفية
 | |||
|  | 
 | |||
|  | يمكنك إنشاء حرفيات الخرائط مباشرة: | |||
|  | 
 | |||
|  |  `var m = map[string]bool{  | |||
|  |     "Go": true,  | |||
|  |     "JavaScript":false,  | |||
|  |  }  | |||
|  |   | |||
|  |  m["Go"] // true  | |||
|  |  m["JavaScript"] = true // Set Javascript to true  | |||
|  |  delete(m, "JavaScript") // Delete "JavaScript" key and value  | |||
|  |  language, ok = m["C++"] // ok is false, language is bool's zero-value (false)  | |||
|  | `  | |||
|  | 
 | |||
|  | #### معلومات اكثر:
 | |||
|  | 
 | |||
|  | *   [جولة في الذهاب](https://tour.golang.org/moretypes/19) | |||
|  | *   [الذهاب عن طريق المثال](https://gobyexample.com/maps) | |||
|  | *   [Golang كتاب](https://www.golang-book.com/books/intro/6#section3) | |||
|  | *   [مواصفات لغة برمجة Go](https://golang.org/ref/spec#Making_slices_maps_and_channels) |