go基础知识 | 青训营笔记

37 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

 

接下来是我总结的内容

 

在 Go 中,变量必须被声明后才能使用,并且未使用的变量会报错。变量可以使用 var 关键字进行定义(var 变量名 变量类型),也可以使用简短声明 := 取代 var 和 type。还可以使用下划线 _ 来声明特殊变量,任何赋予它的值都会被丢弃。

 

常量可以使用 const 关键字进行定义,并且可以指定类型也可以不指定。

 

Go 中有一些内置的基础类型,包括 bool、int、float32 和 float64。字符串是不可变的,可以使用 + 来连接字符。错误类型使用 errors.New 来声明,并在判断是否为 nil 时进行处理。

 

Map 是 Go 中的字典类型,可以使用 make 函数来声明(make(map[string]int)),也可以使用 var 来声明(var numbers map[string]int),可以使用下标赋值和 delete 函数来进行操作。

 

Go 中的内存分配可以使用 make 和 new 两种方式进行,make 用于内建类型(map、slice 和 channel),new 用于各种类型。

 

条件判断语句中不需要使用括号。Go 中还有 goto 语句可以跳转到标签所在位置,for 语句是 Go 中的循环语句。

 


【变量】(已声明但未使用的会报错)

var a int    // 定义变量(var 变量名 变量类型)

b := 1    // 简短声明,:=q=取代var和type

_, b := 34, 35  // 下划线是特殊变量,任何赋予的值都会被丢弃

 

【常量】(可指定类型,也可不)

const Pi = 3.14

 

【内置基础类型】

bool int float32 float64

 

【字符串】(字符串是不可变的)

`+`    // 连接字符

 

【错误类型】

err := errors.New("emit macho dwarf: elf header corrupted")

if err != nil {

    fmt.Print(err)

}

 

【map】

numbers := make(map[string]int)   // 声明一个key是字符串,值为int的字典,这种方式的声明需要在使用之前使用make初始化

var numbers map[string]int   // 另一种map的声明方式

numbers["one"] = 1    //赋值

delete(rating, "C")  // 删除key为C的元素

 

【makenew`make`用于内建类型(`map``slice` 和`channel`)的内存分配。

`new`用于各种类型的内存分配

 

【if】(`if`条件判断语句中不需要括号)

if a {

    q

} else if b {

    w

} else {

    e

}

 

【goto】

A:   //这行的第一个词,以冒号结束作为标签

goto A  //跳转到A去

 

【forfor expression1; expression2; expression3 {

    //...

}

break

continue

--【省略`;`,变成`while`的功能】

sum := 1

for sum < 1000 {

    sum += sum

}

--【`for`配合`range`可以用于读取`slice``map`的数据】

for k,v:=range map {

    fmt.Println("map's key:",k)

    fmt.Println("map's val:",v)

}