国内下载地址:https://studygolang.com/dl
一、GO代码注意事项
- 在我们书写代码时,.go文件的开头都会有package的声明,声明这个文件属于哪个包,package <包名>
- 如果package声明的包名是main包,那么这个代码最终会被编译成一个可执行文件。如果声明的包是其他工具类的包,是不会被编译成可执行文件的
- 在main包中想要被编译后执行,就必须要定义fun main(){}函数,是程序的入口函数,main函数没有参数也没有返回值。
- 在go代码的函数外,只能放置标识符(变量\常量\函数\类型\)的声明
二、Go语言的变量
1、定义变量
1.1定义变量用var关键字:var 变量名 类型
(在go中定义的变量,都会有一个初始值,如0或者空值)
package main
import "fmt"
// 定义变量
func variablezerovale(){
var a int // 定义整型变量
var b string // 定义字符串类型变量
fmt.Printf("%d %q\n", a, b) // 在go中定义的变量,都会有一个初始值(如0或者空值),这里使用printf方法,利用%q可以打印出带引号的字符串
}
func main() {
variablezerovale()
}
结果如下
E:\GoProject\src\gitee.com\LTP\day01\helloWorld>go run edu.go
0 ''
1.2 定义变量并赋值(可以给多个变量赋值)
package main
import "fmt"
func variable(){
var a, c int = 3, 4 // 可以给多个变量赋值(注意:在go中声明的变量,在代码中必须要用到,否则会报错)
var b string = "abc"
fmt.Println(a, b, c) // 注意:在go中声明的变量,在代码中必须要用到,否则会报错
}
func main() {
variable()
}
执行结果如下
E:\GoProject\src\gitee.com\LTP\day01\helloWorld>go run edu.go
3 abc 4
1.3 在定义变量时可以省略变量类型(会自动判别)
package main
import "fmt"
func variabletypeDeduction() {
// 省略定义的变量类型,如int,string。。。
var a, b, c = 3, "bbb", false // 当我们不规定变量类型时,多种类型的变量可以写在一起
var d = true
fmt.Println(a, b, c, d)
}
func main() {
variabletypeDeduction()
}
执行结果
E:\GoProject\src\gitee.com\LTP\day01\helloWorld>go run edu.go
3 bbb false true
1.4 更加简单的写法(用:=的方法,和var关键字方法作用一样)更常用
package main
import "fmt"
func variableshort() {
// 省略var关键字,定义变量是用冒号':'来定义
a, b, c := 3, "bbb", false
c = true // 注意:当这个变量已经被定义了,后面修改值时,直接用 变量名=值 即可,不能再用:来定义变量(如已经c:=1,那么后面就不能c:=2,直接用c=2就可以)
fmt.Println(a, b, c)
}
func main() {
variableshort()
}
执行结果
E:\GoProject\src\gitee.com\LTP\day01\helloWorld>go run edu.go
3 bbb true
1.5 在函数外部也能定义变量(全局变量)
- 注意:在函数外部定义变量时,必须要使用var关键字,定义方法不变(在函数外部不能使用:=的方式定义变量)
- 在函数外定义的变量,作用域是包内有效(package声明的包),并不是全局变量。
- 使用var定义变量时,可以用var()的方法,将变量都定义在括号内
示例:
package main
import "fmt"
// 直接用var关键字定义
var aa = 666
var bb = "xxx"
// 用var()的方式来定义
var (
a = 123
b = true
c = "abc"
)
func main</