• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

51.笔记go语言——go语言数据结构

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

51.笔记go语言——go语言数据结构

主要学习go语言中的基本类型,结构,arrays和slices

结构和指针

 [5]byte表示有5个字节,类似C的阵列。

定义:

type Point struct { X, Y int }

表示定义一个简单的结构类型叫做Point,包含2个内存中连接的值。如下

图1

其中Point{10,20}表示一个初始化Point,&Pointer表示一个Pointer的指针,指向Pointer.

继续定义如下:

type Rect1 struct { Min, Max Point }
type Rect2 struct { Min, Max *Point }

如下图2

Rect1是一个有两个Point的结构,Rect2是有两个Pointer指针的结构。

Strings

           如下图3

如图所示,一个string包含2个字节结构,一个指向字符串数据和一个长度。因为string是不可变的,可以让多个strings来共享存储。所以s 是中的指针可以指向相同的字符串。

Slices

Slice类似一个阵列。在内存中,包含3个字节结构包含一个指针指向第一个元素,第二个表示slice长度,第三个表示容量大小。

和string一样,slicing一个阵列不会进行COPY,只是创建一个结构来保持不同的指针、长度和容量。

如下图4

New and Make

           Go语言包含new和make.

new(T)返回一个*T。

           Make(T,args)返回一个一个正常的T,不是一个指针。

           New返回一个指针指向全零的内存,而make返回一个复杂结构。

图5

 

 

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
quic-go测试发布时间:2022-07-10
下一篇:
在sipeed maix go上用上rt-thread以及vs code发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap