博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang array, slice, string笔记
阅读量:6268 次
发布时间:2019-06-22

本文共 913 字,大约阅读时间需要 3 分钟。

本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io.
 
array:
数组的长度是该数组类型的一部分,例如var buffer [256]byte 的类型是[256]byte, len(buffer)总是返回256.
 
slice:
一个slice描述一个数组中连续的一部分,例如var slice = buffer[100:250]。slice也可以从slice产生,如var slice2 = slice[5:10],其中slice的type是[]byte。slice并不真正存储数据,它只是包含一个指向数据的pointer,你可以把它当成这样的一个结构:
type sliceHeader struct {    Length        int
Capacity      int    ZerothElement *byte}
其中Capacity等于slice所指的数组的大小减去ZeroElement的index。我们还可以用make函数来创建slice,slice := make([]int, 10, 15)其中第二个参数是slice的长度,第三个参数是slice的Capacity。或者用直接量slice := []int{0, 1, 2, 3, 4}。
string:
可以把string看作一个只读的byte slice。例如var sample string = "\xdb\xb2\x3d" 是一个长度为3的byte slice.对于其中非ASCII的unicode数据将被格式化为UTF-8。
Code point指一个unicode值,由几个byte组成。一个character字符可以由几个Code point,甚至不同的Code point组成。golang使用rune来代表code point,类型为int32,在golang中character都被normalize成一个rune。

转载于:https://www.cnblogs.com/daizuozhuo/p/4231992.html

你可能感兴趣的文章
用yum查询想安装的软件
查看>>
TIJ -- 吐司BlockingQueue
查看>>
数据库分页查询
查看>>
[编程] C语言枚举类型(Enum)
查看>>
[Javascript] Compose multiple functions for new behavior in JavaScript
查看>>
ASP.NET MVC性能优化(实际项目中)
查看>>
ES6里关于类的拓展(一)
查看>>
零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步
查看>>
Format Conditions按条件显示表格记录
查看>>
RichTextBox指定全部文字显示不同颜色及部分文字高亮颜色显示
查看>>
mysql优化----explain的列分析
查看>>
Python正则表达式
查看>>
Java中CAS详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
命令行man的帮助手册
查看>>
Ubuntu 16.04下为Android编译OpenCV 3.2.0 Manager
查看>>
poi 导入导出的api说明(大全)
查看>>
Fix-Mapped Addresses
查看>>
fmt标签如何计算两个日期之间相隔的天数
查看>>
Spark核心技术原理透视一(Spark运行原理)
查看>>