这是我参加第五届青训营伴学笔记创作活动的第1天
Go语言是一种静态类型、编译型、并发型编程语言。以下是Go语言基础学习笔记:
一、安装和配置
-
下载并安装Go语言编译器:golang.org/dl/
-
配置环境变量:
- 添加GOROOT变量,指向Go语言安装目录
- 添加GOPATH变量,指向Go语言工作目录
-
检查安装是否成功:在命令行中输入“go version”,如果显示Go语言版本号,则安装成功
二、基本语法
- 定义变量:
Copy code
var x int = 10
y := 20
- 定义常量:
Copy code
const z = 30
- 条件语句:
Copy code
if x > 0 {
// do something
} else if x < 0 {
// do something else
} else {
// do another thing
}
- 循环语句:
Copy code
for i := 0; i < 10; i++ {
// do something
}
三、函数
- 定义函数:
Copy code
func add(x int, y int) int {
return x + y
}
- 调用函数:
Copy code
z := add(10, 20)
- 变量作用域: 在Go语言中,变量作用域是由其在代码中的位置决定的。
四、数组
- 定义数组:
Copy code
var a [3]int
- 初始化数组:
Copy code
a := [3]int{1, 2, 3}
- 遍历数组:
Copy code
for i := 0; i < len(a); i++ {
fmt.Println(a[i])
}
五、切片
- 定义切片:
Copy code
var b []int
- 初始化切片:
Copy code
b := []int{1, 2, 3}
- 切片操作:
Copy code
b = append(b, 4)
b = b[1:] // 删除第一个元素
六、字典
- 定义字典:
Copy code
var c map[string]int
- 初始化字典:
Copy code
c := map[string]int{"x": 1, "y": 2}
- 字典操作:
Copy code
c["z"] = 3
delete(c, "x")
七、结构体
- 定义结构体:
Copy code
type Person struct {
name string
age int
}
- 初始化结构体:
Copy code
p := Person{"John", 30}
- 结构体操作:
Copy code
p.age += 1
八、指针
- 定义指针:
Copy code
var x int = 10
var p *int = &x
- 指针操作:
Copy code
*p = 20
九、并发
- Go语言中的并发是通过Goroutine来实现的,Goroutine是Go语言的轻量级线程
- 开启Goroutine:
Copy code
go func() {
// do something
}()
- 通过channel进行Goroutine之间的通信