在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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 是中的指针可以指向相同的字符串。 SlicesSlice类似一个阵列。在内存中,包含3个字节结构包含一个指针指向第一个元素,第二个表示slice长度,第三个表示容量大小。 和string一样,slicing一个阵列不会进行COPY,只是创建一个结构来保持不同的指针、长度和容量。 如下图4: New and MakeGo语言包含new和make. new(T)返回一个*T。 Make(T,args)返回一个一个正常的T,不是一个指针。 New返回一个指针指向全零的内存,而make返回一个复杂结构。 图5
|
请发表评论