63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Range
							 | 
						||
| 
								 | 
							
								localeTitle: Спектр
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								## Ассортимент
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Чтобы перебрать коллекцию в Go, мы можем использовать диапазон.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Диапазон отличается от for-loops, поскольку элемент в коллекции не получает доступ по индексу.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Если вы хотите получить доступ к элементу specificc в коллекции, скорее всего, это лучший вариант для цикла.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Вот пример:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```go
							 | 
						||
| 
								 | 
							
								package main 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 import "fmt" 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 func main() { 
							 | 
						||
| 
								 | 
							
								  fruits := []string{"apple", "orange", "pear"} 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								  for _, fruit := range fruits { 
							 | 
						||
| 
								 | 
							
								    fmt.Println(fruit) 
							 | 
						||
| 
								 | 
							
								   } 
							 | 
						||
| 
								 | 
							
								 } 
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Вывод:
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								apple 
							 | 
						||
| 
								 | 
							
								 orange 
							 | 
						||
| 
								 | 
							
								 pear 
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Возможно, вы заметили пустой идентификатор, который использовался.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Пустое идентификатор (или первая переменная, возвращаемая из диапазона) - это индекс элемента.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Это лучше всего подходит для карт, поэтому вы можете получить ключ и значение:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```go
							 | 
						||
| 
								 | 
							
								package main 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 import "fmt" 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 func main() { 
							 | 
						||
| 
								 | 
							
								    kvs := map[string]string{"a": "apple", "b": "banana"} 
							 | 
						||
| 
								 | 
							
								    for k, v := range kvs { 
							 | 
						||
| 
								 | 
							
								        fmt.Printf("%s -> %s\n", k, v) 
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								   } 
							 | 
						||
| 
								 | 
							
								 } 
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								идти
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Выходы:
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								a -> apple 
							 | 
						||
| 
								 | 
							
								 b -> banana 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 |