分类分类
更新时间:2026-02-18 20:53:56作者:zhao
Go编程提供的一个重要的数据类型就是映射,唯一映射一个键到一个值。一个键要使用在以后检索值的对象。给定的键和值,可以在一个Map对象存储的值。值存储后,您可以使用它的键检索。
定义映射
必须使用make函数来创建一个映射。
/*declareavariable,bydefaultmapwillbenil*/
varmap_variablemap[key_data_type]value_data_type
/*definethemapasnilmapcannotbeassignedanyvalue*/
map_variable=make(map[key_data_type]value_data_type)
例子
下面的例子说明创建和映射的使用。
packagemain
import"fmt"
funcmain{
varcoutryCapitalMapmap[string]string
/*createamap*/
coutryCapitalMap=make(map[string]string)
/*insertkey-valuepairsinthemap*/
countryCapitalMap["France"]="Paris"
countryCapitalMap["Italy"]="Rome"
countryCapitalMap["Japan"]="Tokyo"
countryCapitalMap["India"]="NewDelhi"
/*printmapusingkeys*/
forcountry:=rangecountryCapitalMap{
fmt.Println("Capitalof",country,"is",countryCapitalMap[country])
}
/*testifentryispresentinthemapornot*/
captial,ok:=countryCapitalMap["UnitedStates"]
/*ifokistrue,entryispresentotherwiseentryisabsent*/
if(ok){
fmt.Println("CapitalofUnitedStatesis",capital)
}else{
fmt.Println("CapitalofUnitedStatesisnotpresent")
}
}
让我们编译和运行上面的程序,这将产生以下结果:
CapitalofIndiaisNewDelhi
CapitalofFranceisParis
CapitalofItalyisRome
CapitalofJapanisTokyo
CapitalofUnitedStatesisnotpresent
delete()函数
delete()函数是用于从映射中删除一个项目。映射和相应的键将被删除。下面是一个例子:
packagemain
import"fmt"
funcmain{
/*createamap*/
coutryCapitalMap:=map[string]string{"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"NewDelhi"}
fmt.Println("Originalmap")
/*printmap*/
forcountry:=rangecountryCapitalMap{
fmt.Println("Capitalof",country,"is",countryCapitalMap[country])
}
/*deleteanentry*/
delete(countryCapitalMap,"France");
fmt.Println("EntryforFranceisdeleted")
fmt.Println("Updatedmap")
/*printmap*/
forcountry:=rangecountryCapitalMap{
fmt.Println("Capitalof",country,"is",countryCapitalMap[country])
}
}
让我们编译和运行上面的程序,这将产生以下结果:
OriginalMap
CapitalofFranceisParis
CapitalofItalyisRome
CapitalofJapanisTokyo
CapitalofIndiaisNewDelhi
EntryforFranceisdeleted
UpdatedMap
CapitalofIndiaisNewDelhi
CapitalofItalyisRome
CapitalofJapanisTokyo
方法
Go编程语言支持特殊类型的函数调用的方法。在方法声明的语法中,“接收器”的存在是为了表示容器中的函数。该接收器可用于通过调用函数“.”运算符。下面是一个例子:
语法
func(variable_namevariable_data_type)function_name()[return_type]{
/*functionbody*/
}
packagemain
import(
"fmt"
"math"
)
/*defineacircle*/
typeCirclestrut{
x,y,radiusfloat64
}
/*defineamethodforcircle*/
func(circleCircle)area()float64{
returnmath.Pi*circle.radius*circle.radius
}
funcmain(){
circle:=Circle(x:0,y:0,radius:5)
fmt.Printf("Circlearea:%f",circle.area())
}
当上述代码被编译和执行时,它产生了以下结果:
Circlearea:78.539816
相关
归墟战纪策略游戏262.92 MBv3.95802026-02-14
下载爆裂老奶策略游戏209.43 MBv1.0.112026-02-14
下载超能下蛋鸭策略游戏395.4 MBv1.2.82026-02-14
下载你好盒子实用工具12.1 MBv2.2.852026-02-14
下载我在峡谷当牛马休闲益智87.95 MBv0.7.12026-02-14
下载抽卡监狱2策略游戏190.75 MBv1.4.92026-02-14
下载Campus社交通讯94.36 MBv1.19.02026-02-14
下载冒险传奇角色扮演141.73 Mv9991.12026-02-14
下载心动次元app社交通讯43.96 Mv1.0.1.32026-02-14
下载致亲爱的我角色扮演1.63Gv1.02026-02-14
下载狼伴侣游戏手机版冒险游戏155.6 Mv1.02026-02-14
下载Loclike社交通讯169.08 Mv2.2.112026-02-14
下载










