第六届字节跳动青训营第一课 | Go 语言入门指南:基础语法和常用特性解析

121 阅读2分钟

一、实践记录

  1. 时间:2024年11月2日
  2. 地点:线上学习平台
  3. 学习内容:Go 语言基础语法和常用特性 二、笔记正文
  4. Go 语言简介 Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。它于 2009 年发布,旨在提高开发效率和程序性能。
  5. 基础语法 (1)变量声明与赋值 Go 语言变量声明使用关键字 var,赋值可以使用短变量声明符(:=)。 示例:
var a int = 10
b := "Hello, World!"

(2)数据类型 Go 语言数据类型包括基本数据类型(如 int、float、bool 等)和复合数据类型(如 array、slice、map、struct 等)。 示例:

var age int
var name string
var isStudent bool

(3)控制结构 Go 语言支持 if、for、switch 等控制结构。 示例:

if age > 18 {
    fmt.Println("成年人")
} else {
    fmt.Println("未成年人")
}
for i := 0; i < 10; i++ {
    fmt.Println(i)
}

(4)函数 Go 语言函数定义格式如下:

func 函数名(参数列表) 返回值类型 {
    // 函数体
}

示例:

func add(a, b int) int {
    return a + b
}
  1. 常用特性解析 (1)切片(Slice) 切片是 Go 语言的一种灵活、高效的数据结构,用于处理数组。切片的声明和使用如下: 示例:
var slice []int = []int{1, 2, 3, 4, 5}
fmt.Println(slice[1:3]) // 输出:[2 3]

(2)映射(Map) 映射是一种键值对的数据结构,类似于 Python 中的字典。映射的声明和使用如下: 示例:

var m map[string]int = make(map[string]int)
m["age"] = 25
fmt.Println(m["age"]) // 输出:25

(3)并发(Goroutine) Go 语言原生支持并发编程,通过 goroutine 实现轻量级线程。示例:

func sayHello() {
    fmt.Println("Hello, World!")
}
func main() {
    go sayHello() // 启动一个 goroutine
    time.Sleep(1 * time.Second) // 等待 goroutine 执行完毕
}

(4)通道(Channel) 通道是 Go 语言用于实现并发通信的一种机制。示例:

func main() {
    ch := make(chan int)
    go func() {
        ch <- 10 // 向通道发送数据
    }()
    fmt.Println(<-ch) // 从通道接收数据
}

三、总结与反思 通过本次学习,我对 Go 语言的基础语法和常用特性有了初步了解。在实际编码过程中,我发现自己对切片和映射的使用还不够熟练,需要在后续学习中加强练习。同时,Go 语言的并发编程特性让我耳目一新,今后我将深入研究和掌握这一特性,以提高自己的编程水平。