TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to GO

Golang range: Slice, String and Map

Use range expressions in for-loops on slices, strings and maps.
Range. A slice has indexes 0, 1, 2. With a range expression in a for-loop we iterate over those indexes. We can also access element values.Built-Ins
One or two parts. A range can be used on a slice, string or map. The first variable from a range is the index. The second is the element itself (like a slice element or a rune).
Slice example. We have a slice of string elements here—a string slice. This slice has 3 elements. We use range in a for-loop on the slice.

Description: The first for-loop accesses only the indexes. The second accesses indexes and element values themselves.

Slice
Golang program that uses range on slice package main import "fmt" func main() { colors := []string{"blue", "green", "red"} // Use slice range with one value. // ... This loops over the indexes of the slice. for i := range colors { fmt.Println(i) } // With two values, we get the element value at that index. for i, element := range colors { fmt.Println(i, element) } } Output 0 1 2 0 blue 1 green 2 red
String. Here is a string range example. We can use 1 or 2 variables in the range clause. The first is the rune index, and the second is the rune value itself.Strings

Note: In Go we refer to chars as runes. Rune has some technical meaning, but mostly is a fancy word for char.

Golang program that uses range on string package main import "fmt" func main() { // This is a string. name := "golang" // Use range on string. // ... This accesses only the indexes of the string. for i := range name { fmt.Println(i) } // Use range with two variables on string. // ... This is an index and a rune (char of the string). for i, element := range name { // Convert element to string to display it. fmt.Println(i, string(element)) } } Output 0 1 2 3 4 5 0 g 1 o 2 l 3 a 4 n 5 g
Map. Here is a map. We use int keys and string values. We map the English words for some numbers—this could be useful in a real program.map

Then: We use a range over the keys of the map. In Go, maps return their keys in a somewhat random (unpredictable) way.

Key, value: We can access both the key and the value at each pair of the map. This is an efficient way to loop over a map.

Golang program that uses range on map package main import "fmt" func main() { // An example map. words := map[int]string{ 0: "zero", 1: "one", 2: "two", 3: "three", } // Use range on map to loop over keys. for key := range words { fmt.Println(key) } // Range on map can access both keys and values. for key, value := range words { fmt.Println(key, value) } } Output 2 3 0 1 3 three 0 zero 1 one 2 two
For. A for-loop can be used with a range expression. We can loop over values with a start, an end, and an increment statement. In Go we use the for-loop.For
Wide open ranges. In Go we use a range expression to enumerate arrays, slices, maps, strings and channels. For most uses, a range can be used with one or two variables.
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf