映射
Go編程提供的一個(gè)重要的數(shù)據(jù)類型就是映射,唯一映射一個(gè)鍵到一個(gè)值。一個(gè)鍵要使用在以后檢索值的對(duì)象。給定的鍵和值,可以在一個(gè)Map對(duì)象存儲(chǔ)的值。值存儲(chǔ)后,您可以使用它的鍵檢索。
定義映射
必須使用make函數(shù)來創(chuàng)建一個(gè)映射。
/* 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() 函數(shù)
delete()函數(shù)是用于從映射中刪除一個(gè)項(xiàng)目。映射和相應(yīng)的鍵將被刪除。下面是一個(gè)例子:
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編程語言支持特殊類型的函數(shù)調(diào)用的方法。在方法聲明的語法中,“接收器”的存在是為了表示容器中的函數(shù)。該接收器可用于通過調(diào)用函數(shù)“.”運(yùn)算符。下面是一個(gè)例子:
語法
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
新聞熱點(diǎn)
疑難解答
圖片精選