映射
Go编程提供的一个重要的数据类型就是映射,唯一映射一个键到一个值。一个键要使用在以后检索值的对象。给定的键和值,可以在一个Map对象存储的值。值存储后,您可以使用它的键检索。
定义映射
必须使用make函数来创建一个映射。
复制代码 代码如下:
var map_variable map[key_data_type]value_data_type
map_variable = make(map[key_data_type]value_data_type)
例子
下面的例子说明创建和映射的使用。
复制代码 代码如下:
package main
import "fmt"
func main {
var coutryCapitalMap map[string]string
coutryCapitalMap = make(map[string]string)
countryCapitalMap["France"] = "Paris"
countryCapitalMap["Italy"] = "Rome"
countryCapitalMap["Japan"] = "Tokyo"
countryCapitalMap["India"] = "New Delhi"
for country := range countryCapitalMap {
fmt.Println("Capital of",country,"is",countryCapitalMap[country])
}
captial, ok := countryCapitalMap["United States"]
if(ok){
fmt.Println("Capital of United States is", capital)
}else {
fmt.Println("Capital of United States is not present")
}
}
让我们编译和运行上面的程序,这将产生以下结果:
delete() 函数
delete()函数是用于从映射中删除一个项目。映射和相应的键将被删除。下面是一个例子:
复制代码 代码如下:
package main
import "fmt"
func main {
coutryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"}
fmt.Println("Original map")
for country := range countryCapitalMap {
fmt.Println("Capital of",country,"is",countryCapitalMap[country])
}
delete(countryCapitalMap,"France");
fmt.Println("Entry for France is deleted")
fmt.Println("Updated map")
for country := range countryCapitalMap {
fmt.Println("Capital of",country,"is",countryCapitalMap[country])
}
}
让我们编译和运行上面的程序,这将产生以下结果:
方法
Go编程语言支持特殊类型的函数调用的方法。在方法声明的语法中,“接收器”的存在是为了表示容器中的函数。该接收器可用于通过调用函数“.”运算符。下面是一个例子:
语法
复制代码 代码如下:
func (variable_name variable_data_type) function_name() [return_type]{
}
package main
import (
"fmt"
"math"
)
type Circle strut {
x,y,radius float64
}
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())
}
当上述代码被编译和执行时,它产生了以下结果: