新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

golang的援用类型有哪几种

发布时间:2023-07-10 09:56:54

golang的援用类型有哪几种

Go是一种强类型语言,它有几种基本类型,如字符串、整数和布尔型等等。但是,Go也有一些援用类型,这些类型是根据程序需要动态创建的。本文将介绍golang的援用类型。

1.切片(Slice)

切片是Go中的重要数据类型之一,它是一种动态大小的序列。

切片可以看做是数组的一个援用(或是一个指针),由于它不存储任何数据,只是描写了底层数组中的一段。因此,切片的大小可以动态改变。

切片的操作包括创建、追加、复制、截取和排序等等。切片的基本创建方式以下:

varslice1[]int//声明一个切片slice2:=[]int{}//声明一个空切片slice3:=make([]int,5)//创建一个长度为5的切片slice4:=make([]int,5,10)//创建一个长度为5,容量为10的切片

2.映照(Map)

映照是Go中的另外一个援用类型,它是一种键值对的数据结构。

映照可以看做是一个哈希表,其中的元素是无序的。Go语言中的映照是通过make函数创建的,下面是一些映照的创建方式:

varmap1map[string]int//声明一个映照map2:=make(map[string]int)//创建一个映照map3:=map[string]int{foo:1,bar:2}//使用字面值创建一个映照

映照的值可以很方便地添加、查找和删除操作,下面是一些常见的映照操作:

m:=make(map[string]int)m[foo]=1//添加一个键值对v1:=m[foo]//获得键“foo”的值delete(m,foo)//删除键“foo”及其对应的值

3.通道(Channel)

通道是Go语言中的另外一个援用类型,它用于协程之间的通讯。

通道有两种类型:有缓冲通道和无缓冲通道。有缓冲通道可以存储一定数量的元素,而无缓冲通道则要求发送和接收操作一定要同时产生(称为同步)。

通道的创建方式以下:

varch1chanint//声明一个通道ch2:=make(chanint)//创建一个无缓冲通道ch3:=make(chanint,10)//创建一个容量为10的缓冲通道

通道的使用包括发送、接收、关闭等操作,下面是一些通道的常见用法:

ch:=make(chanint,1)ch<-42//发送一个整数到通道中x:=<-ch//从通道中接收一个整数close(ch)//关闭通道

结论

本文介绍了Go语言中的三个援用类型:切片、映照和通道。

切片是Go语言中重要的数据类型之一,它允许动态改变大小和容量。

映照是一种键值对的数据结构,它的操作包括添加、查找和删除等等。

通道是一种用于协程之间通讯的机制,它有没有缓冲和有缓冲两种类型。

桂%哥%网%络www.guIgege.cn

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!