一、环境准备
安装go语言编译环境,官网地址:https://go.dev/dl/ 或者 https://golang.google.cn/dl/
点击下载按提示安装即可
vscode 安装go语言扩展
测试
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
二、指针用法
指针基础:
- 指针变量存储的是另一个变量的地址
- 使用&操作符获取变量的地址
- 使用*操作符声明一个指针变量
- 使用*操作符解引用指针来访问指向的值
- *x = 100,*出现在等号左边(左值)表示指针指向的变量
- y = *x,*出现在等号右边(右值)表示获取指针指向变量的值
与C或C++不同,Go不支持指针运算(例如通过指针进行数组遍历),这使得指针的使用更加安全
测试:如何交换两个变量的值和修改变量的值
package main
import "fmt"
// swap 函数通过指针交换两个整数的值
func swap(x *int, y *int) {
var temp int
temp = *x // 解引用x指针,获取x指向的值
*x = *y // 将y指向的值赋给x指向的位置
*y = temp // 将临时变量temp的值赋给y指向的位置
}
// modifyValue 函数展示了如何修改指针指向的值
func modifyValue(number *int) {
*number = 20 // 修改指针指向位置的值为20
}
func main() {
a := 10
b := 20
fmt.Println("Before swap: a =", a, "b =", b)
// 调用swap函数,传递a和b的地址
swap(&a, &b)
fmt.Println("After swap: a =", a, "b =", b)
c := 5
fmt.Println("Before modifyValue: c =", c)
// 调用modifyValue函数,传递c的地址
modifyValue(&c)
fmt.Println("After modifyValue: c =", c)
}