A5下载文章资讯

分类分类

浅析Go语言编程当中映射和方法的基本使用

2015-11-03 15:06作者: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

展开全部

相关

说两句网友评论
    我要跟贴
    取消