坚持就是胜利

变量:

    true false iota nil

类型:

    bool

    string

    int  int8  int16  int32  int64

    uint uint8 uint16 uint32 uint64 uintptr

    byte就是int8强调原始数据

    rune就是int32 强调Unicode 的code point

    float32 float64

    complex64 complex128

函数:

    make len cap new append copy close delete complex real imag panic recover

变量

    var value type 

    下面用int说明:

    var v int 定义一个int型变量,默认初始化为0值

    var a int = 3

    a := 1 自动判断类型

注:=表示赋值        :=表示声明

    const a int = 10 或者const a = 10 定义一个常量a

    不能给常量进行重新赋值


    不能读取常量的地址


iota 

    Golang中特殊常量:iota为自增量

    1.  只能在常量表达式中使用

    2. 每次const出现iota都会初始化为0;自定义常量枚举类型,允许靠编译器完成自增设置

    3. 可以跳过某些值

    4. 位掩码表达式,使用增长的 iota 取得前面的表达式并且再运用它

常用函数

make

    func make(Type, size int) Type

    第一个参数是一个类型,第二个参数是长度;返回值是一个类型。

    make 只能为 slice、map或 channel 类型分配内存并初始化,同时返回一个有初始值引用,不是指针。

len cap

    func len(v Type) int 返回长度

    func cap(v Type) int返回容量,针对slice 数组 chan

append

    append针对slice进行操作

    append(sliceVal,elm1,elm2)

    sliceVal = append(sliceVal, sliceVal2)


注:s2... 是Golang中一种语法糖表示把s2打散传入。

delete

    内建函数 delete 按照指定的键将元素从映射中删除。若 m 为 nil 或无此元素,delete 不进行操作。

    func delete(m map[Type]Type1, key Type)

copy

    主要是切片(slice)的拷贝,不支持数组。还有就是把字符串当成byte的切片进行拷贝

    copy(dest,src)


参考:

    https://blog.csdn.net/uudou/article/details/52241534