上节我们讲了GO语言的环境搭建以及创建了Hello World程序。今天学习一下Go语言基础语法
开发前准备
1. 首先创建一个Project02
2. 在Project02下面新建一个test1.go(关于go文件取名问题提一嘴,现在最好不要取XXX_test.go,https://cloud.tencent.com/developer/article/1820021)
3. GoLang中文网标准库文档:https://studygolang.com/pkgdoc
转义字符学习
1. 首先还是在test1.go中写个123运行看看是否成功,点击Run按钮Run Without Debugging。务必要是package main,不然的话运行不成功的。
2. 转义字符“”
\代表一个, "代表一个", 代表制表符, 代表换行符
代表一个回车,会回到行首输出。但是VS Code输出有问题,用控制台又是正常的。
代表退格,但是VS Code输出有问题,用控制台又是正常的。
变量学习
背景:
变量声明方式:https://www.cnblogs.com/hw1988/p/14302405.html。
package main import "fmt" func main() { // 方式1:var 变量名 变量类型 var name string var age int var isOK bool name = "Amy" age = 18 isOK = true fmt.Printf("name = %s, age = %d, isOK = %t ", name, age, isOK) // 方式2: 批量声明 var ( name1 string age1 int isOK1 bool ) name1 = "Amy1" age1 = 19 isOK1 = false fmt.Printf("name1 = %s, age1 = %d, isOK1 = %t ", name1, age1, isOK1) // 方式3:变量初始化 var 变量名 类型 = 表达式 var name2 string = "Amy2" var age2 int = 20 var isOK2 bool = true fmt.Printf("name2 = %s, age2 = %d, isOK2 = %t ", name2, age2, isOK2) // 方式4:go语言支持类型推导(将变量类型省略) var name3, age3, isOK3 = "Amy3", 21, false var sex = "girl" fmt.Printf("name3 = %s age3 = %d isOK3 = %t ", name3, age3, isOK3) fmt.Printf("sex = %s ", sex) // 方式5:短变量声明 name4 := "Bob" age4 := 18 fmt.Printf("name4 = %s age4 = %d ", name4, age4) }
1. 注意问题:
1. Go语言中定义的变量一定要使用,不然会报错
2. 格式化输出用Printf而不是PrintIn
2. 定义int8类型的变量,注意int8的取值范围是-128~127,占用一个字节,大于127是会溢出的。
3. 数据类型的转换
分析一下num3的值为什么是-51。首先num2的值为210,210是大于127的,看一下210用二进制表示为1101 0010,最高位是1,所以表示一个负数,负数在电脑中是以补码形式存储的,首先保留最高位不变,其他位置取反得到1010 1101,最后将得到的数加1就是电脑中存储的值1010 1110结果就是-46,所以num2强转之后的结果是-46,num3 = num2 -5,因此num3的值就为-51。