Go语言入门指南:基础语法和常用特性解析|豆包MarsCode AI刷题

51 阅读2分钟

Go语言凭借简洁高效、并发性强等优势,在后端开发、云计算等领域崭露头角,以下为你解析其基础语法与常用特性。 变量声明与赋值:Go有简洁明确的方式,可先声明再赋值,如 var num int; num = 10 ,也常用简短声明 num := 10 ,编译器自动推断类型,但要注意简短声明只能用于函数内且不能重复定义已声明变量。声明多个变量时, var a, b int = 1, 2 清晰直观,还能在一行搞定不同类型变量声明, var ( name string = "Tom" age int = 20 ) ,增强代码可读性与可维护性。 数据类型丰富:基础类型涵盖整型( int 、 int8 等)、浮点型( float32 、 float64 )、布尔型 bool 、字符串 string 。字符串操作实用,拼接用 + , str := "hello " + "world" ,获取长度是 len(str) ,还可按索引访问字符,不过要留意字符串不可变,修改需重新赋值。切片( slice )灵活强大,类似动态数组, s := []int{1, 2, 3} 创建并初始化,用 append(s, 4) 添加元素,可借助 copy 函数复制切片内容,高效处理数据集合。 控制流语句规范: if 条件判断简洁, if num > 5 { fmt.Println("大于 5") } ,可在条件前声明变量, if v := 10; v > 5 { fmt.Println("满足条件") } ,变量作用域仅限 if 块。 for 循环多样,常见的 for i := 0; i < 10; i++ { } 类似 C 风格,还能遍历切片或映射, for index, value := range slice { } ,无需手动获取索引与元素,代码紧凑。 switch 支持多类型匹配, switch num := 5; num { case 1: fmt.Println("是 1") case 5: fmt.Println("是 5") default: fmt.Println("其他") } ,无需 break ,执行完匹配分支自动结束。 函数特性鲜明:定义为 func 函数名(参数列表) 返回值类型 { } ,可返回多个值, func addSub(a, b int) (int, int) { return a + b, a - b } ,调用时用 sum, diff := addSub(3, 2) 接收,方便处理复杂逻辑同时返回结果与状态。函数可作为变量传递, var f func(int) int = func(x int) int { return x * 2 } ,契合函数式编程场景,增强代码灵活性。 并发编程优势尽显:通过 go 关键字轻松开启协程, go func() { fmt.Println("协程执行") }() ,实现轻量级多任务并行,配合 chan 通道实现协程间通信, var ch = make(chan int) ,发送 ch <- 5 ,接收 num := <-ch ,合理调度避免死锁、竞态条件,高效利用多核资源提升程序性能,助开发者应对高并发复杂业务场景,开启高效编程之旅。