go 语言 数组,字符串,切片
数组,字符串,切片
笔记内容 是个人总结《Go语言高级编程》的学习笔记
基础的数据结构,只有在这些不满足的时候才会使用链表,map,结构体等数据结构。
数组,字符串,切片 有相同的内存结构,都是连续的内存块,因为在语法上的限制才有不同的表现,了解内存结构,可以更好的理解和使用它们
数组: 对应的连续的字节数组,可以修改内存数据,但是它是值类型,赋值和传参都是整体赋值字符串:对应的连续字节数组,不可以修改内存数据,只读属性切片: 用的最多,同样的连续字节数组,但是切片头部包含底层数据的指针,数据长度和容量信息,传参时候只需要传递这些信息,更加高效
数组
连续内存的数据类型的内存块,跟c语言不同的是,Go中的数组名是一个值类型,
在c语言中,数组名表示数组的首元素地址,也就是说数组名具有地址的概念
int a[10],*p;
p = a;
p = &a[0]; //做参数传递的时
共有 0 条评论