Go --- 编程知识点及其注意事项
在Go语言中,有一些编程知识点和注意事项,这里列举一些常见的概念和相关代码示例:
- 变量声明和初始化
var a int = 10 // 声明并初始化变量a
var b = 20 // 类型推导,初始化变量b
c := 30 // 简短变量声明,初始化变量c
- 指针
i := 10
p := &i // 获取变量i的内存地址,p是指向i的指针
fmt.Println(*p) // 使用*p来访问p指向的值,输出10
- 数组和切片
arr := [5]int{1, 2, 3, 4, 5} // 声明一个固定大小的数组
slice := []int{1, 2, 3, 4, 5} // 声明一个切片,底层是数组
- 函数
func add(a, b int) int { // 声明一个函数,接受两个int参数,返回一个int值
return a + b
}
- 错误处理
_, err := os.Open("does_not_exist.txt")
if err != nil {
fmt.Println(err)
}
- 并发
var wg sync.WaitGroup
wg.Add(2)
go func() {
fmt.Println("Hello from the first goroutine")
wg.Done()
}()
go func() {
fmt.Println("Hello from the second goroutine")
wg.Done()
}()
wg.Wait() // Wait for the goroutines to finish
- 结构体和方法
type Rectangle struct {
width, height int
}
func (r Rectangle) Area() int {
return r.width * r.height
}
rect := Rectangle{width: 10, height: 20}
fmt.Println(rect.Area()) // 输出结果200
- 接口
type Shape interface {
Area() int
}
type Rectangle struct {
width, height int
}
func (r Rectangle) Area() int {
return r.width * r.height
}
func printArea(s Shape) {
fmt.Println(s.Area())
}
rect := Rectangle{width: 10, height: 20}
printArea(rect) // 输出结果200
这些代码示例展示了Go语言中的一些基本概念和语法,同时也提醒开发者注意相关的编程实践和错误处理。
评论已关闭