* Javascript -> JavaScript (English) * Update technical documentation page for required change * Update use-class-syntax-to-define-a-constructor-function.english.md * Update left-factorials.md
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Go Maps
 | |
| ---
 | |
| ## Go Maps
 | |
| 
 | |
| A map, called a _dictionary_ in other languages, "maps" keys to values.
 | |
| A map is declared like this:
 | |
| ```go
 | |
| var m map[Key]Value
 | |
| ```
 | |
| This map has no keys and no keys can be added to it.
 | |
| To create a map, use the `make` function:
 | |
| ```go
 | |
| m = make(map[Key]Value)
 | |
| ```
 | |
| Anything can be used as a key or as a value.
 | |
| 
 | |
| ### Modifying maps
 | |
| Here are some common action with maps.
 | |
| 
 | |
| #### Inserting/Changing elements
 | |
| Create or change element `foo` in map `m`:
 | |
| ```go
 | |
| m["foo"] = bar
 | |
| ```
 | |
| #### Getting elements
 | |
| Get element with key `foo` in map `m`:
 | |
| ```go
 | |
| element = m["foo"]
 | |
| ```
 | |
| 
 | |
| #### Deleting elements
 | |
| Delete element with key `foo` in map `m`:
 | |
| ```go
 | |
| delete(m, "foo")
 | |
| ```
 | |
| 
 | |
| #### Check if a key has been used
 | |
| Check if key `foo` has been used in map `m`:
 | |
| ```go
 | |
| element, ok = m["foo"]
 | |
| ```
 | |
| If `ok` is `true`, the key has been used and `element` holds the value at `m["foo"]`.
 | |
| If `ok` is `false`, the key has not been used and `element` holds its zero-values.
 | |
| 
 | |
| ### Map literals
 | |
| You can directly create map literals:
 | |
| ```go
 | |
| 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)
 | |
| ```
 | |
| 
 | |
| #### More Information:
 | |
| <!-- Please add any articles you think might be helpful to read before writing the article -->
 | |
| * [A Tour of Go](https://tour.golang.org/moretypes/19)
 | |
| * [Go By Example](https://gobyexample.com/maps)
 | |
| * [Golang Book](https://www.golang-book.com/books/intro/6#section3)
 | |
| * [The Go Programming Language Specification](https://golang.org/ref/spec#Making_slices_maps_and_channels)
 |