Go 语言入门实践 —— 基础语法与常用特性解析 | 豆包MarsCode AI 刷题

10 阅读3分钟

大家好,今天咱们来学习

Go 语言入门实践 —— 基础语法与常用特性解析

  1. 引言
    Go 语言,也被称为 Golang,是由 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。它以其简洁的语法、高效的性能和原生支持并发编程而受到开发者的喜爱。本笔记将带您通过实践来了解 Go 语言的基础语法和常用特性。
  2. 环境配置
    在开始 Go 语言编程之前,首先需要安装 Go 开发环境。可以从 Go 官方网站 下载对应操作系统的安装包。安装完成后,设置环境变量 GOPATHGOROOT,并确保 PATH 环境变量包含 Go 的安装路径。
# 查看安装的 Go 版本
go version
  1. Hello World
    让我们从经典的 “Hello World” 程序开始,这个在咱们的MarsCode AI 练中学也有源码
package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}

保存为 hello.go 并运行:

go run hello.go
  1. 基础语法

(1)变量声明 Go 语言中的变量声明有多种方式,可以使用 var 关键字,也可以使用短变量声明语法 :=

var a = "initial"
var b, c int = 1, 2
d := true

(2)数据类型 Go 语言有几种基本数据类型,包括整型、浮点型、布尔型和字符串。

var i int
var f float32
var b bool
var s string

(3)控制结构 Go 语言提供了 ifswitchfor 等控制结构。

if 7%2 == 0 {
    fmt.Println("7 is even")
} else {
    fmt.Println("7 is odd")
}
switch os := runtime.GOOS; os {
case "darwin":
    fmt.Println("OS X.")
case "linux":
    fmt.Println("Linux.")
default:
    fmt.Printf("%s.\n", os)
}

(4)数组与切片 数组是具有固定长度的数据结构,而切片是动态的、可伸缩的数据结构。

var a [2]string
a[0] = "Hello"
a[1] = "World"
fmt.Println(a[0], a[1])
fmt.Println(a)
s := []int{2, 3, 5, 7, 11, 13}
fmt.Println("s ==", s)
  1. 常用特性

(1)并发编程
Go 语言通过 goroutines 和 channels 提供了并发编程的支持。

func say(s string) {
    for i := 0; i < 5; i++ {
        time.Sleep(100 * time.Millisecond)
        fmt.Println(s)
    }
}
func main() {
    go say("world")
    say("hello")
}

(2)错误处理
Go 语言通过内置的错误类型和 deferpanicrecover 机制来处理错误。

func main() {
    defer fmt.Println("world")
    fmt.Println("hello")
}
func panicRecover() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Recovered in f", r)
        }
    }()
    panic("a problem")
}

(3)接口与类型断言
Go 语言中的接口是一种类型,它定义了一组方法。类型断言用于提取接口的底层值。

type I interface {
    M()
}
type T struct {
    S string
}
func (t T) M() {
    fmt.Println(t.S)
}
func main() {
    var i I = T{"hello"}
    i.M()
}
  1. 总结
    该笔记通过实践示例,带大家了解了 Go 语言的基础语法和常用特性。Go 语言的简洁和高效使其成为现代编程语言中的佼佼者。通过这些基础知识的掌握,您将为更深入的学习和实践 Go 语言打下坚实的基础。

二、结语
通过本次实践,我们不仅学习了 Go 语言的基本语法,还体验了其强大的并发编程和错误处理特性。在未来的编程旅程中,继续探索 Go 语言的更多高级特性,将有助于我们成为一名更全面的开发者。记住,编程是一门实践课,不断的编码实践是提高编程技能的最佳途径。