前言

参考网站: https://wiki.eryajf.net/go-learn/

基础知识

什么是Go语言

Go是由Google开发的一种开源编程语言,设计初衷是让开发者可以快速构建高效的现代应用。Go结合了静态语言的性能和动态语言的开发效率,特别适合开发高并发的后端服务

Go命令

https://docs.kilvn.com/go_command_tutorial/0.0.html (这一块得靠实践)

命令功能描述
build编译代码生成可执行文件
run编译并立即运行代码
fmt格式化代码,确保统一的编码风格
test执行单元测试
get下载和管理依赖包
version查看 Go 的版本

包的概念

Go是一个以为基础的语言

  • 把相同功能的代码放到一个目录,称之为包
  • 包可以被其他包引用
  • main包是用来生成可执行文件的,每个程序有且只有一个main
  • 包的主要作用是提高代码的可复用性
// 1) Go 语言以包作为管理单位
// 2) 每个文件必须先声明包
// 3) 程序必须有一个 main 包(重要)

package main // 声明当前文件属于 main 包

// Go 语言以双斜杠作为单行注释的标识
/*
这是块注释
可以多行注释
*/

// 引入 fmt 包,用于格式化输出
import "fmt"

// 入口函数,有且只有一个
func main() { // 左括号必须与函数名同行,否则会报错
// 打印 “hello go” 到屏幕,Println() 会自动换行
// 调用 Println 函数时,需要导入 fmt 包
fmt.Println("hello go") // 注意:Go 语言语句结尾没有分号
fmt.Println("hello haha")
}

变量的声明

package main

import "fmt" // 导入包,未使用会报错

func main() {
// 1. 声明变量但不赋值,默认为零值
var a int
fmt.Println("a =", a) // 输出:a = 0

// 2. 变量赋值后再使用
a = 10
fmt.Println("a =", a) // 输出:a = 10

// 3. 声明并初始化变量
var b int = 10
b = 20 // 可重新赋值
fmt.Println("b =", b) // 输出:b = 20

// 4. 同时声明多个变量(用逗号隔开)
var x, y int
x, y = 1, 2
fmt.Println("x =", x, ", y =", y) // 输出:x = 1, y = 2

// 5. 自动推导类型(推荐)
c := 30 // 根据赋值的类型推导变量类型
fmt.Printf("c type is %T\n", c) // 输出:c type is int
}

PrintlnPrintf

Println
按段输出内容,每段用空格分隔
自动在内容后添加换行符

Printf
格式化输出内容,通过格式占位符插入变量值
不会自动换行,需要显式添加 \n
package main

import "fmt"

func main() {
// 使用 Println 输出
a := 10
fmt.Println("a =", a) // 输出:a = 10(自动换行)

// 使用 Printf 格式化输出
fmt.Printf("a = %d\n", a) // 输出:a = 10\n(精确控制格式)

// 多个变量输出
b := 20
c := 30
fmt.Println("a =", a, ", b =", b, ", c =", c) // 输出:a = 10 , b = 20 , c = 30(每段用空格分隔)
fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c) // 输出:a = 10, b = 20, c = 30\n
}

多重赋值与匿名变量


附录

参考网站: https://wiki.eryajf.net/go-learn/