一基本数据类型分类

golang的基本数据类型有五种:

  1. 整数型
  2. 小数型
  3. 字符型
  4. 布尔型
  5. 字符串型

二字符串底层存储方式

string:
golang默认编码方式UTF-8
存储:字符集+编码
字符串类型的存储方式:data起始地址+字节个数
golang中字符串内容是不会修改的,所以编译器会把字符串分配到 只读内存段,若要修改,尽量重新定义或者通过转字节使用slice操作。

三值类型和引用类型

值类型定义:变量直接存储,通常在栈上分配
引用类型定义:变量存储的是data的内存地址,通常在堆上分配.
go中的值类型:五大基本数据类型以及结构体struct
go中的引用类型:切片slice,字典map,以及指针,通道chan

   **定义引用类型的两种方式:make &&new**
      new和make相同之处都是用来定义引用类型的,
      不同的是:
              1.new在定义引用类型时,只为他们分配内存,这些内存会被清零
                 make在定义时不仅要为他们分配内存而且要进行初始化,
                字符为nil,整型为0, 逻辑值为false
              2.new和make在返回时也有不同,new返回的是*type,make返回的是type即引用
              3.new可以初始化任意的数据类型,而make只能初始化slice,map,chan这三种数据类型

基本的总结,以后学到还会补充,下一篇是引用类型slice&&map