Go 函数与并发 814 字 约 3 分钟阅读 更新于 2025-12-11 函数定义1234567891011func add(a, b int) int { return a + b}// 多返回值func divide(a, b int) (int, error) { if b == 0 { return 0, errors.New("除数不能为0") } return a / b, nil} 结构体123456789101112type User struct { Name string Age int}// 方法func (u User) SayHello() { fmt.Printf("我是%s\n", u.Name)}user := User{Name: "张三", Age: 25}user.SayHello() 并发 Goroutine123456789// 启动协程go func() { fmt.Println("并发执行")}()// Channel 通信ch := make(chan int)go func() { ch <- 42 }()val := <-ch 常用并发模式12345678910// 等待多个协程var wg sync.WaitGroupfor i := 0; i < 3; i++ { wg.Add(1) go func(n int) { defer wg.Done() fmt.Println(n) }(i)}wg.Wait()