Go语言基础 | 青训营笔记

55 阅读2分钟

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

本人是一名Java选手,虽说两种语言有些许的相似性,对于 golang 来说,还需要学习很多东西。 要想入门一门语言,其语法是重中之重,打好基础,后期框架的使用才会得心应手。


Go语言基础

变量基础

命名

命名一般使用驼峰式命名。

变量声明

var 变量名 string = "hello world"

赋值

  • x = 1
  • *p = "piont"

除了普通的赋值方式,还可以使用元组赋值,同时更新多个变量的值

  • x, y, z = 1, 3, 5 交换两个变量的值:
  • x, y = y, x

可以使用下划线 _ 来丢弃不需要存储的值:

  • _, ok = x.(T)

先讲一下 = 和 := 的区别

  1. “=”的使用与其他语言相同,赋值操作,但是此处的变量必须提前声明好类型,或者在声明的同时赋值。
  2. “:=”的使用则是自动匹配变量类型,省去了声明变量类型操作,也就是你可以不声明,在赋值使用的时候多加个冒号就可以了。

对于复合类型的变量,也会产生赋值行为:

  • medals := []string{"a", "b", "c"}

    相当于:

    medals[0] = "a"
    
    medals[1] = "b"
    
    medals[2] = "c"
    

基本数据类型

int8、int16、int32和int64,分别对应8、16、32、64bit大小的有符号整数,与此对应的是uint8、uint16、uint32和uint64四种无符号整数类型。

对于浮点数来说,有float32和float64两种

布尔类型 bool

复合数据类型

数组

定义:

var arr [3]int

var arr [3]int{1, 2, 3}

arr := [...]int{1, 2, 3}

len(arr): 获取数组长度

// Print the indices and elements.
for i, v := range arr {
    fmt.Printf("%d %d\n", i, v)
}

// Print the elements only.
for _, v := range arr {
    fmt.Printf("%d\n", v)
}

Slice

Slice 切片:代表变长的序列,和数组相似

一个slice类型一般写作[]T,其中T代表slice中元素的类型

可以使用append函数,向slice中追加元素。