51.笔记go语言——go语言数据结构
来源:互联网 发布:knn算法matlab 编辑:程序博客网 时间:2024/06/05 02:30
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 0
- 51.笔记go语言——go语言数据结构
- 43.笔记go语言圣经——go语言特性
- 45.笔记go语言圣经——go语言变量
- 50.笔记go语言——go语言函数细节
- 59.笔记go语言——go语言中的反射
- 31.笔记go语言——go doc命令
- 42.笔记go语言圣经——go起源
- 46.笔记go语言圣经——go运行时
- 48.笔记go语言圣经——go图形化
- 55.笔记go语言——go类型
- 56.笔记go语言——go的函数类型
- Go语言数据结构
- go语言的数据结构
- 2.笔记go语言——包
- 3.笔记go语言——函数
- 4.笔记go语言——变量
- 10.笔记go语言——并发
- 17.笔记go语言——表单
- 《如何运行第一个C/C++语言程序》
- 49.笔记go语言——实现斐波那契
- JavaSE基础03
- 50.笔记go语言——go语言函数细节
- Qt二维图形编程之窗口-视口概念理解
- 51.笔记go语言——go语言数据结构
- Outlook邮箱重新配置
- 再按一次退出程序code
- 例题6-4 UVA11988 悲剧文本
- 52.笔记go语言——defer使用场景
- 安卓单元测试全攻略,让代码测试一劳永逸
- 你瘦了就不可爱了
- 53.笔记go语言——defer,panic,recover使用场景
- Outlook邮箱无法登录