1. 前言
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
2. 基础语法
2.1 包声明
在 Go 语言中,每个文件都属于一个包,包声明使用 package 关键字。例如:
package main
2.2 导入包
通过 import 关键字,我们可以导入其他包的功能。例如:
import "fmt"
2.3 函数入口
Go 语言程序的入口是 main 函数。例如:
func main() {
// 程序逻辑
}
2.4 变量声明与赋值
Go 语言使用 var 关键字声明变量,并可以通过赋值初始化变量。例如:
var name string
name = "Go语言"
也可以通过简短声明方式定义并初始化变量:
age := 18
2.5 数据类型
Go 语言拥有丰富的数据类型,包括基本类型(如整型、浮点型、布尔型)、复合类型(如数组、切片、字典)以及自定义类型。例如:
var num int
var price float64
var isDone bool
var numbers = [3]int{1, 2, 3}
var names = []string{"A", "B", "C"}
var scores = map[string]int{"Chinese":85,"Math": 90, "English": 95}
2.6 控制流语句
Go 语言提供了常用的控制流语句,如条件语句、循环语句和选择语句,用于实现程序的逻辑控制。
- 条件语句使用
if、else if和else关键字。例如:
if score >=85 {
fmt.Println("优秀")
} else if score >= 60 {
fmt.Println("良好")
} else {
fmt.Println("及格")
}
- 循环语句使用
for关键字,可以实现循环执行代码块。例如:
for i := 0; i < 5; i++ {
fmt.Println(i)
}
- 选择语句使用
switch关键字,根据条件选择不同的执行分支。例如:
switch day {
case "Monday":
fmt.Println("星期一")
case "Tuesday":
fmt.Println("星期二")
default:
fmt.Println("其他")
}
2.7 函数定义与调用
在 Go 语言中,函数使用 func 关键字定义,可以接受参数并返回结果。例如:
func add(a, b int) int {
return a + b
}
result := add(3, 5)
fmt.Println(result)
3. 常用特性解析
除了基础语法外,Go 语言还提供了一些常用特性,以提高开发效率和代码质量。
- 错误处理:Go 语言通过返回值来处理错误,约定了使用
error类型作为函数返回值来传递错误信息。 - 并发编程:Go 语言内置了轻量级的协程(goroutine)和通信机制(channel),方便编写并发程序。
- 包管理:Go 语言使用 Go Modules 进行包管理,可以方便地管理项目的依赖关系。
- 测试支持:Go 语言内置了测试框架,可以编写单元测试和性能测试,确保代码的正确性和性能。
- 多返回值:Go 语言函数可以返回多个值,这对于处理多个相关结果非常方便。
- defer 语句:Go 语言提供了
defer语句,用于在函数返回前执行一些清理操作,例如关闭文件或释放资源。 - 结构体和方法:Go 语言支持面向对象编程,通过结构体和方法可以定义自己的类型和行为。