一、go.mod初始文件创建
要创建一个新的 Go 模块,可以使用以下命令行:
go mod init 你自己取的模块名称
这个命令会在当前目录下生成一个 go.mod 文件,其中记录了模块的名称和依赖信息。
二、一个完整的 Hello World
在使用 VSCode 编写 Go 代码时,可以选择两种运行方式。
1. 第一种运行方式:go run
使用以下命令在命令行中直接运行代码:
go run hello.go
这将直接编译并运行代码,输出结果为:
hello world
2. 第二种运行方式:可执行文件
首先,使用以下命令进行编译:
go build hello.go
执行完 build 命令后,会在当前目录下生成一个可执行文件,然后通过以下命令运行:
./hello
这样就可以看到运行结果:
hello world
这两种运行方式的区别在于,go run
会直接编译并运行代码,而 go build
会生成一个可执行文件,可以在其他机器上运行,无需重新编译。
三、变量
关于变量的定义和使用,有一些基本规则需要遵守:
- 变量必须先定义后使用。
- 变量必须有类型。
- 类型定下来后不能改变。
- Go 是静态语言,要求变量类型和赋值类型一致。
- 同一个方法中变量名不能冲突,但全局变量与局部变量可同名,但是局部变量优先级更高。
s := 1
简洁变量定义不能用于全局变量。- Go 语言中变量定义了就必须使用,否则会报错。
- 变量定义后是有默认零值的,定义后不赋值就使用的是默认零值,如 int 的默认值为 0,bool 的默认值为 false 等。
1. 定义变量的方式
有三种方式定义变量:
第一种:
var s int
s = 1
第二种:
var s = 1
第三种:
s := 1
2. 全局变量和局部变量
全局变量位于方法之外,局部变量位于方法内。示例代码如下:
package main
import (
"fmt"
)
// 全局变量:方法之外
var (
a = "abc"
b = 1
)
func main() {
// 局部变量,方法内
var s int
s = 1
fmt.Println(a)
}
3. 多变量
可以使用以下方式定义多个变量:
var a, b, c = "aa", 1, "cc"
四、常量
常量在定义时就已经指定,不能修改,通常尽量使用大写字母命名。常量的类型只能是布尔、数值(整数、浮点数、复数)和字符串。
1. 显式与隐式定义
常量可以通过显式和隐式的方式定义,如下所示:
package main
func main() {
// 显式定义
const A float64 = 3.14
// 隐式定义
const B = 3.14
}
2. 多常量定义
可以通过一组常量定义语句定义多个常量,示例代码如下:
const (
a int = 1
b
c = "abc"
d
)
运行结果:
1 1 abc abc