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

73 阅读3分钟

Go语言入门基础语法

Go语言概述:

Go语言是一种静态类型、编译型语言,Go语言的设计目标是提高编程效率,具有简洁、快速、安全、并发支持等特点。

Go语言的语法类似于C语言,但更加简洁,省略了头文件、模板和异常处理等复杂特性。

基本语法:

  1. 包声明: 每个Go语言的源文件都以包声明开始,指明该文件属于哪个包。

    go
    package main
    
  2. 导入包: Go语言使用import关键字来导入其他包。

    go
    import "fmt"
    import "math/rand"
    
  3. 变量:

    • 声明变量使用var关键字,可以指定类型或让编译器推断类型。
    • 短变量声明使用:=,只能在函数内部使用。
    go
    var a int = 10
    b := 20.0
    
  4. 常量: 使用const关键字声明常量,常量一旦赋值不能更改。

    go
    const Pi = 3.14159
    
  5. 数据类型:

    • 基本数据类型包括intfloat64boolstring等。
    • 复合类型包括数组、切片(slice)、结构体(struct)、映射(map)等。
    • 指针类型用于存储变量的内存地址。
  6. 控制结构:

    • if语句不需要括号包围条件,且else之前不需要分号。
    • switch语句可以替代多个if-else语句。
    • for循环是Go语言中唯一的循环结构,它没有whiledo-while
    • breakcontinue关键字用于控制循环流程。
  7. 函数:

    • 函数定义使用func关键字。
    • 函数可以返回多个值,这在错误处理中非常有用。
    • 匿名函数(也称为闭包)可以捕获并使用外部变量。
  8. 并发编程:

    • Goroutine是Go语言并发设计的核心,它是一种轻量级的线程。
    • Channel是Go语言中用于在goroutine之间同步和传递数据的机制。
    • selectcase关键字用于处理多个channel操作。
  9. 接口:

    • 接口在Go中是一种类型,它定义了一组方法。
    • 任何实现了接口方法的类型都实现了该接口,这是Go语言实现鸭子类型的方式。
    • 接口类型可以作为函数的参数,使得函数更加通用和灵活。
  10. 错误处理:

    • Go语言中的错误处理是通过返回错误值来实现的。
    • 通常,函数会返回两个值,一个是结果,另一个是错误。
    • 使用errors包来创建和处理错误。
  11. 包管理:

    • Go语言使用go get命令来安装和管理包。
    • 使用go build来编译程序,go run来直接运行程序。
    • go fmt命令用于格式化代码,确保代码风格的一致性。
  12. 结构体和方法:

    • 结构体是一种自定义的数据类型,可以包含多个不同类型的字段。
    • 方法可以绑定到结构体类型上,使得结构体实例可以调用这些方法。
  13. 切片:

    • 切片是Go语言中非常强大的一种数据结构,它提供了动态数组的功能。
    • 切片支持通过内置的append函数动态增长。
  14. 映射:

    • 映射(map)是Go语言中的一种关联数组,它使用键值对存储数据。
    • 映射的键必须是可比较的类型,如intstring等。
  15. 类型转换:

    • 在Go语言中,需要显式地进行类型转换。
    • 类型转换的语法是类型名(表达式)
  16. 指针:

    • 指针用于存储变量的内存地址。
    • 使用&获取变量的地址,使用*解引用指针。
  17. defer、panic和recover:

    • defer用于确保资源的释放,如文件关闭、锁释放等。
    • panic用于触发异常,而recover用于捕获异常并恢复程序的执行。