Go语言入门指南 | 青训营

137 阅读4分钟

引言

Go(又称为Golang)是一种现代化的编程语言,因其简洁、高效和易于学习等特性,正在迅速成为许多开发者的首选。本篇笔记将重点介绍Go语言的基础语法和常用特性,为初学者提供一个入门指南。

基础语法:

  1. 变量声明与赋值: 在Go中,可以使用var关键字声明变量。例如,var name string声明了一个字符串类型的变量名为name。使用=进行赋值,如name = "John"

  2. 数据类型: Go具有丰富的基本数据类型,如intfloat64string等。通过:=可以进行变量初始化,自动推断数据类型,例如age := 25

  3. 常量: 使用const关键字声明常量,例如const pi = 3.14159。常量在编译时确定,不能被修改。

控制流:

  1. 条件语句: 使用if关键字进行条件判断,例如:
if age >= 18 {
    fmt.Println("You are an adult.")
} else {
    fmt.Println("You are a minor.")
}
  1. 循环语句: Go语言中的唯一循环结构是for循环,例如:
for i := 1; i <= 5; i++ {
    fmt.Println(i)
}

函数与方法:

  1. 函数定义: 使用func关键字定义函数,例如:
func add(x int, y int) int {
    return x + y
}
  1. 函数变量: 在Go中,函数可以作为一种类型赋值给变量,从而实现函数作为参数传递等高级用法。
func subtract(x int, y int) int {
    return x - y
}

operation := subtract
result := operation(10, 5) // 结果为 5

常用特性:

  1. 切片(Slices): 切片是一种动态数组,它可以根据需要自动调整大小。

切片在以下情况下非常有用:

  • 当你需要处理未知数量的元素时,如读取文件中的行。
  • 当你想要从一个大的数组或切片中截取一部分数据。

示例:

package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}
    
    // 从切片中截取部分数据
    slice := numbers[1:4] // 包含索引1到3的元素
    
    fmt.Println(slice) // 输出 [2 3 4]
}

解释: 在这个示例中,我们首先创建了一个包含整数的切片 numbers。然后,我们使用切片操作 numbers[1:4] 从切片中截取了一部分数据,这个新的切片被存储在变量 slice 中。这个切片包含了索引1到3的元素,即 [2, 3, 4]。切片的底层是一个指向原数组的指针,因此修改切片会影响原数组的对应元素。


  1. 结构体(Structs): 结构体是一种自定义的数据类型,用于表示一组相关的数据。结构体在以下情况下非常有用:
  • 当你需要将多个不同类型的数据组合成一个单一的实体时,如表示一个人的姓名、年龄等信息。
  • 当你需要在函数间传递多个参数,而不想用函数的参数列表来传递

示例:

package main
import "fmt"

type Person struct {
    FirstName string
    LastName  string
    Age       int
}

func main() {
    person := Person{
        FirstName: "Alice",
        LastName:  "Johnson",
        Age:       30,
    }
    
    fmt.Println(person.FirstName, person.LastName) // 输出 Alice Johnson
}

结构体示例解释: 在这个示例中,我们定义了一个名为 Person 的结构体,它有三个字段:FirstNameLastNameAge。我们在 main 函数中创建了一个名为 person 的结构体实例,并为其各个字段赋值。然后,我们通过访问结构体字段来获取和输出 personFirstNameLastName。结构体可以帮助我们更有组织地存储和操作一组相关的数据,提高了代码的可读性和可维护性。

通过这两个示例,了解切片和结构体在不同的编程场景中的应用。切片适用于处理动态数量的元素,而结构体适用于组合多个字段来表示一种实体。这两个概念都是Go语言中强大而重要的工具

总结: 本篇笔记介绍Go语言的基础语法和常用特性,包括变量声明、控制流、函数定义、切片、结构体等。通过这些基本概念,可以开始编写简单但功能强大的程序。随着不断的练习和学习,将能够深入掌握Go语言的更多高级特性,从而成为一个熟练的Go开发者。