这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
Go
注释
package mainimport "fmt"// 我是单行注释/*我是多行注释我是多行注释*/func main() { fmt.Println("hello world")}
变量
package mainimport "fmt"func main() { var name string = "kuangshen" name = "zhangsan" fmt.Println(name)}
变量交换
a,b=b,a
短变量声明并且初始化
package mainimport "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
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 常量计数器
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}
基本数据类型
map
布尔型
数字类型
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制表符}
数据类型的转换
整型不能转化为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