Application
Create new folder named src. In src folder, create new file named main.go as below:
package main
import "fmt"
func main() {
fmt.Println("Demo 1")
Demo1()
fmt.Println("Demo 2")
Demo2()
fmt.Println("Demo 3")
Demo3()
fmt.Println("Demo 4")
Demo4()
}
func Demo1() {
categories := map[string][]string{
"category1": []string{"product 1", "product 2"},
"category2": []string{"product 3", "product 4", "product 5"},
"category3": []string{"product 1"},
}
fmt.Println(categories)
fmt.Println("Categories List")
for key, value := range categories {
fmt.Println(key)
for _, v := range value {
fmt.Println("\t", v)
}
}
}
func Demo2() {
categories := make(map[string][]string)
categories["category1"] = append(categories["category1"], "product 1.1")
categories["category1"] = append(categories["category1"], "product 1.2")
categories["category1"] = append(categories["category1"], "product 1.3", "product 1.4")
categories["category2"] = append(categories["category2"], "product 2.1", "product 2.1")
fmt.Println(categories)
}
func Demo3() {
categories := map[string][]string{
"category1": []string{"product 1.1", "product 1.2", "product 1.3"},
"category2": []string{"product 2.1", "product 2.1"},
}
fmt.Println(categories)
for _, category := range categories {
fmt.Println(category)
for _, name := range category {
fmt.Println("\t", name)
}
}
}
func Demo4() {
products := map[string]map[string]interface{}{
"product1": map[string]interface{}{
"id": "p01",
"name": "name 1",
"price": 4.5,
"quantity": 10,
},
"product2": map[string]interface{}{
"id": "p02",
"name": "name 3",
"price": 6,
"quantity": 4,
},
"product3": map[string]interface{}{
"id": "p03",
"name": "name 3",
"price": 13,
"quantity": 9,
},
}
fmt.Println(products)
for _, product := range products {
fmt.Println("Info of ", product["name"])
for key, value := range product {
fmt.Println(key, ":", value)
}
fmt.Println("----------------------")
}
}
Output
Open Terminal windows in Visual Studio Code and run command line: go run main.go
Demo 1
map[category2:[product 3 product 4 product 5] category3:[product 1] category1:[product 1 product 2]]
Categories List
category1
product 1
product 2
category2
product 3
product 4
product 5
category3
product 1
Demo 2
map[category1:[product 1.1 product 1.2 product 1.3 product 1.4] category2:[product 2.1 product 2.1]]
Demo 3
map[category1:[product 1.1 product 1.2 product 1.3] category2:[product 2.1 product 2.1]]
[product 1.1 product 1.2 product 1.3]
product 1.1
product 1.2
product 1.3
[product 2.1 product 2.1]
product 2.1
product 2.1
Demo 4
map[product1:map[id:p01 name:name 1 price:4.5 quantity:10] product2:map[quantity:4 id:p02 name:name 3 price:6]
product3:map[id:p03 name:name 3 price:13 quantity:9]]
Info of name 1
id : p01
name : name 1
price : 4.5
quantity : 10
----------------------
Info of name 3
id : p02
name : name 3
price : 6
quantity : 4
----------------------
Info of name 3
quantity : 9
id : p03
name : name 3
price : 13
----------------------