后端实践 | 豆包MarsCode AI刷题

65 阅读3分钟

Go语言基础内容


简单介绍

Go语言是一种开源的编程语言,2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,2009年11月开源,并在2012年发布Go 1稳定版本。它具有高效、简洁、并发性强等诸多优点。无论是用于网络编程、系统编程还是构建大规模的分布式系统,Go语言都展现出了卓越的性能,是一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

基础语法简单介绍

  1. 变量声明

    • 在Go语言中,变量声明有多种方式。可以使用var关键字声明变量,例如:

      • var num int,这里声明了一个名为num的整数类型变量。
      • 也可以使用简短声明方式,例如str := "Hello, World",这种方式会自动推断变量的类型,但是变量必须被初始化。
  2. 数据类型

    • 基本数据类型

      • 整数类型,如intint8int16int32int64等,分别表示不同大小范围的整数。
      • 浮点数类型,有float32float64
      • 布尔类型bool,只有truefalse两个值。
      • 字符串类型string,例如message := "This is a string"
    • 复合数据类型

      • 数组:var arr [5]int定义了一个包含5个整数元素的数组。

      • 切片:切片是对数组的抽象,例如s := []int{1, 2, 3}创建了一个整数切片。

      • 结构体:用于组合不同类型的数据,例如:

        • type Person struct { name string age int }
        • 然后可以创建结构体实例p := Person{"John", 25}
  3. 函数定义

    • 函数使用func关键字定义,例如:

      • func add(a, b int) int { return a + b }
      • 这个函数接受两个整数参数ab,并返回它们的和。函数可以有多个返回值,例如:
      • func div(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("除数不能为0") } return a / b, nil }

常用特性简单介绍

  1. 并发编程

    • Goroutine

      • Goroutine是Go语言中轻量级的线程。使用go关键字可以启动一个Goroutine,例如:

        • func main() { go func() { fmt.Println("这是一个在Goroutine中执行的函数") }() fmt.Println("主函数继续执行") time.Sleep(time.Second) }
      • 在这个例子中,go关键字后面的匿名函数会在一个新的Goroutine中执行,而主函数会继续向下执行。

    • Channel

      • Channel用于在Goroutine之间进行通信。可以使用make函数创建一个Channel,例如ch := make(chan int),这创建了一个用于传递整数的Channel。
      • 发送数据到Channel使用ch <- data,从Channel接收数据使用data := <-ch
  2. 包管理

    • Go语言使用import语句导入包。例如import "fmt"用于导入fmt包,这个包提供了格式化输入输出的功能。
    • 可以自定义包,将相关的功能代码组织到一个目录下,然后在其他文件中导入使用。
  3. 错误处理

    • Go语言的函数通常会返回一个错误值,调用者需要检查这个错误值并进行相应的处理。例如在文件读取操作中:

      • func readFile() { file, err := os.Open("test.txt") if err!= nil { fmt.Println("打开文件失败:", err) return } defer file.Close() // 继续文件读取操作 }

总之,Go语言以其简洁高效的语法和强大的特性,在现代软件开发中占据着重要的地位。掌握Go语言的基础语法和常用特性是进一步深入学习和应用Go语言的关键。