映射
Go編程提供的一個重要的數據類型就是映射,唯一映射一個鍵到一個值。一個鍵要使用在以后檢索值的對象。給定的鍵和值,可以在一個Map對象存儲的值。值存儲后,您可以使用它的鍵檢索。
定義映射
必須使用make函數來創建一個映射。
/* declare a variable, by default map will be nil*/
var map_variable map[key_data_type]value_data_type
/* define the map as nil map can not be assigned any value*/
map_variable = make(map[key_data_type]value_data_type)
package main
import "fmt"
func main {
var coutryCapitalMap map[string]string
/* create a map*/
coutryCapitalMap = make(map[string]string)
/* insert key-value pairs in the map*/
countryCapitalMap["France"] = "Paris"
countryCapitalMap["Italy"] = "Rome"
countryCapitalMap["Japan"] = "Tokyo"
countryCapitalMap["India"] = "New Delhi"
/* print map using keys*/
for country := range countryCapitalMap {
fmt.Println("Capital of",country,"is",countryCapitalMap[country])
}
/* test if entry is present in the map or not*/
captial, ok := countryCapitalMap["United States"]
/* if ok is true, entry is present otherwise entry is absent*/
if(ok){
fmt.Println("Capital of United States is", capital)
}else {
fmt.Println("Capital of United States is not present")
}
}
- Capital of India is New Delhi
- Capital of France is Paris
- Capital of Italy is Rome
- Capital of Japan is Tokyo
- Capital of United States is not present
delete() 函數
delete()函數是用于從映射中刪除一個項目。映射和相應的鍵將被刪除。下面是一個例子:
package main
import "fmt"
func main {
/* create a map*/
coutryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"}
fmt.Println("Original map")
/* print map */
for country := range countryCapitalMap {
fmt.Println("Capital of",country,"is",countryCapitalMap[country])
}
/* delete an entry */
delete(countryCapitalMap,"France");
fmt.Println("Entry for France is deleted")
fmt.Println("Updated map")
/* print map */
for country := range countryCapitalMap {
fmt.Println("Capital of",country,"is",countryCapitalMap[country])
}
}
- Original Map
- Capital of France is Paris
- Capital of Italy is Rome
- Capital of Japan is Tokyo
- Capital of India is New Delhi
- Entry for France is deleted
- Updated Map
- Capital of India is New Delhi
- Capital of Italy is Rome
- Capital of Japan is Tokyo
方法
Go編程語言支持特殊類型的函數調用的方法。在方法聲明的語法中,“接收器”的存在是為了表示容器中的函數。該接收器可用于通過調用函數“.”運算符。下面是一個例子:
語法
import (
"fmt"
"math"
)
/* define a circle */
type Circle strut {
x,y,radius float64
}
/* define a method for circle */
func(circle Circle) area() float64 {
return math.Pi * circle.radius * circle.radius
}
func main(){
circle := Circle(x:0, y:0, radius:5)
fmt.Printf("Circle area: %f", circle.area())
}
- Circle area: 78.539816
|
新聞熱點
疑難解答