Go语言基础语法 | 豆包MarsCode AI刷题

66 阅读3分钟

在当今的编程语言世界中,Go 语言以其简洁高效、并发性强等特点脱颖而出,成为了众多开发者的热门选择。本文将带你走进 Go 语言的世界,详细解析其基础语法和常用特性。

一、基础语法

  1. 变量与常量

    • 变量声明:在 Go 语言中,使用 var 关键字声明变量。例如:var age int = 30。也可以使用简短变量声明,如 age := 30,这种方式只能在函数内部使用。
    • 常量声明:使用 const 关键字声明常量。例如:const pi = 3.14159
  2. 数据类型

    • 基本数据类型:包括整数类型(如 intuint)、浮点数类型(如 float32float64)、布尔类型(bool)、字符串类型(string)等。
    • 复合数据类型:数组、切片、映射(字典)、结构体等。
      • 数组:例如 var arr [5]int 声明了一个包含 5 个整数的数组。
      • 切片:切片是对数组的引用,可以动态增长或收缩。例如 s := []int{1, 2, 3} 创建了一个包含三个整数的切片。
      • 映射:m := make(map[string]int) 创建了一个字符串到整数的映射。
  3. 控制结构

    • 条件语句:使用 ifelse 和 else if 进行条件判断。例如:
age := 25
if age < 18 {
    fmt.Println("未成年")
} else if age >= 18 && age < 60 {
    fmt.Println("成年人")
} else {
    fmt.Println("老年人")
}
  • 循环语句:for 循环是 Go 语言中唯一的循环语句。例如:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}
  • 开关语句:使用 switch 进行多分支选择。例如:
day := "Monday"
switch day {
case "Monday":
    fmt.Println("周一")
case "Tuesday":
    fmt.Println("周二")
default:
    fmt.Println("其他日子")
}
  1. 函数

    • 函数声明:使用 func 关键字声明函数。例如:
func add(a int, b int) int {
    return a + b
}
  • 多返回值:Go 语言支持函数返回多个值。例如:
func divide(a, b int) (int, bool) {
    if b == 0 {
        return 0, false
    }
    return a / b, true
}

二、常用特性

  1. 指针

    • 指针是存储另一个变量内存地址的变量。通过指针可以直接操作内存中的数据。例如:
a := 10
var p *int = &a
fmt.Println(*p) // 输出 10,*p 表示解引用指针,获取指针指向的值
  1. 结构体

    • 结构体是一种自定义的数据类型,可以包含多个不同类型的字段。例如:
type Person struct {
    name string
    age  int
}
p := Person{"张三", 30}
fmt.Println(p.name, p.age)
  1. 方法

    • 方法是与特定类型相关联的函数。例如:
type Rectangle struct {
    width  float64
    height float64
}
func (r Rectangle) area() float64 {
    return r.width * r.height
}
rect := Rectangle{width: 5, height: 3}
fmt.Println(rect.area())
  1. 并发编程

    • Go 语言通过 goroutine 和 channel 实现高效的并发编程。

      • goroutine:是一种轻量级的线程,可以轻松创建大量的并发任务。例如:go func() { fmt.Println("Hello from goroutine") }()

      • channel:用于在 goroutine 之间进行通信和同步。例如:

ch := make(chan int)
go func() {
    ch <- 42
}()
value := <-ch
fmt.Println(value)

总之,Go 语言的基础语法简洁明了,常用特性强大实用。通过学习这些基础语法和特性,你可以快速入门 Go 语言,并在实际开发中充分发挥其优势。随着不断的实践和深入学习,你将能够更加熟练地运用 Go 语言进行高效的编程开发。