Go语言基础入门 | 青训营笔记

39 阅读2分钟

快速入门案例

如何使用Go语言编写一个打印 "Hello, World!" 的程序

package main

import "fmt" // 导入 fmt 包,用于打印输出

func main() {
    fmt.Println("Hello, World!") // 使用 Println 函数打印输出文本
}

基础语法部分

  1. 包(Package):

    • 每个Go程序都由包组成。
    • main 包是可执行程序的入口包。
  2. 导入(Import):

    • 使用 import 关键字导入需要使用的包。
    • 可以使用圆括号同时导入多个包,也可以使用别名来简化包名。
  3. 函数(Function):

    • 使用 func 关键字定义函数。
    • 函数可以有参数和返回值。
    • 使用 return 语句返回结果。
  4. 变量(Variable):

    • 使用 var 关键字声明变量。
    • 可以通过类型推断来省略变量类型。
    • 使用 := 运算符进行变量的声明和赋值。
  5. 常量(Constant):

    • 使用 const 关键字定义常量。
    • 常量的值在编译时确定,不能修改。
  6. 数据类型(Data Types):

    • 基本数据类型包括整型、浮点型、布尔型、字符串和字符型。
    • 复合数据类型包括数组、切片、映射、结构体、接口和指针。
  7. 控制流(Control Flow):

    • ifelseswitch 语句用于条件控制。
    • for 循环用于迭代操作。
    • breakcontinue 语句用于控制循环。
  8. 指针(Pointers):

    • 使用 & 运算符获取变量的地址。
    • 使用 * 运算符解引用指针。
  9. 结构体(Struct):

    • 使用 typestruct 关键字定义结构体类型。
    • 可以通过 . 运算符访问结构体字段。
  10. 切片(Slice):

    • 切片是对数组的抽象,可以动态增长。
    • 使用 make 函数创建切片。
    • 使用切片的索引和切片表达式来访问和操作元素。
  11. 函数方法(Function Methods):

    • 可以为自定义类型定义方法。
    • 使用特殊的接收者参数来实现方法。

综合案例

package main

import (
	"fmt"
)

const (
	pi     = 3.14
	apples = 10
)

func main() {
	var name string = "Alice" // 声明并初始化一个字符串变量
	age := 25                // 使用简短声明语法初始化一个整数变量

	fmt.Println("你好,世界!")
	fmt.Println("我的名字是", name, ",我今年", age, "岁。")

	area := calculateArea(5.0) // 调用函数计算圆的面积
	fmt.Println("圆的面积为", area)

	numbers := []int{1, 2, 3, 4, 5} // 声明并初始化一个整数切片
	sum := calculateSum(numbers)   // 调用函数计算切片中数字的总和
	fmt.Println("数字的总和为", sum)

	greet := greeting("Bob") // 调用函数生成问候语
	fmt.Println(greet)
}

// 计算圆的面积
func calculateArea(radius float64) float64 {
	return pi * radius * radius
}

// 计算整数切片的总和
func calculateSum(numbers []int) int {
	sum := 0
	for _, num := range numbers {
		sum += num
	}
	return sum
}

// 生成问候语
func greeting(name string) string {
	return "你好," + name + "!"
}