Go语言笔记(1) | 青训营笔记

59 阅读2分钟

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

Go

注释

package main​import "fmt"// 我是单行注释/*我是多行注释我是多行注释*/func main() {    fmt.Println("hello world")}

变量

package main​import "fmt"func main() {    var name string = "kuangshen"    name = "zhangsan"    fmt.Println(name)}

变量交换

a,b=b,a

短变量声明并且初始化

package main​import "fmt"​func main() {    var name string = "kuangshen"    name = "zhangsan"    fmt.Println(name)​    var (        data string        age  int    )    fmt.Println(data, age)​    // := 自动推导    addr := "0x0111"    fmt.Printf("%T", addr)​    var num int    num = 100    fmt.Printf("num:%d,内存地址:%p", num, &num) //&取地址符​    num = 100    fmt.Printf("num:%d,内存地址:%p", num, &name) //&取地址符}

匿名变量 _

变量的作用域

全局变量 局部变量 局部变量优先被考虑

常量

const

image-20230113115528403

func main() {    const URL string = "www.baidu.com" //显示类型    const URL2 = "WWW.BAIDU.COM" //隐式类型    const a, b, c = 3.14, false, 3 + 4i    fmt.Println(URL, URL2, a, b, c)}

iota 常量计数器

image-20230113115512178

func main() {   const (      a1 = iota      b1 = iota      c1 = iota   )   const (      a2 = iota      b2      c2      d2 = "a"      e2      f2 = 100      g2      g3      h2 = iota      i2   )   const (      j = iota      k   ) fmt.Println(a1, b1, c1)//0 1 2  fmt.Println(a2, b2, c2, d2, e2, f2, g2, h2, i2, j, k) //0 1 2 a a 100 100 100 7 8 0 1}

基本数据类型

image-20230113115851931

map

布尔型

image-20230113175453613

数字类型

image-20230113180706043

image-20230113180647637

image-20230113180751678

func main() {    //定义一个整型     //int uint     //int默认int64    //byte unit8 0 255    //rune int32    //int int64    var age int32 = 18    fmt.Printf("%T,%d\n", age, age)    //定义一个浮点型    //float默认float64    //默认保留六位小数      //.2 丢失精度 四舍五入    var money float64 = 3.14     fmt.Printf("%T,%.2f\n", money, money)}

字符与字符串

func main() {    //双引号    var str1 string    str1 = "hello"    fmt.Printf("%T,%s\n", str1, str1)​    //单引号    //ASCII码 GBK编码 全世界的编码表:Unicode编码表    v1 := 'a'    v2 := "a"    fmt.Printf("%T,%d\n", v1, v1) //int32,97    fmt.Printf("%T,%s\n", v2, v2)​    //字符串连接 +    fmt.Println("hello" + ",hsl")​    //专业字符 \ \n换行 \t制表符​}

数据类型的转换

image-20230113191643212

整型不能转化为bool类型

转换后的变量 :=要转换的类型(变量)

a := float64(b)

var num1 float64 = -123.0000901var num2 float32 = float32(num1)fmt.Println("num1 = ", num1, "num2 = ", num2)//num1 =  -123.0000901 num2 =  -123.00009