Go基础语法 | 青训营笔记

77 阅读3分钟

GO语言基础语法笔记

1. 简介

GO语言是一种开源的编程语言,由Google开发,并于2009年首次公开发布。它的设计目标是提供一种简单、高效和可靠的语言,特别适用于构建大规模的软件系统。GO语言融合了传统静态类型语言的安全性和效率,以及动态类型语言的灵活性和开发效率,使得开发者能够更快速地构建高性能的应用程序。

GO语言的语法简洁而直观,易于学习和使用。它借鉴了C语言的语法结构,并且在此基础上进行了简化和改进,去除了一些复杂和冗余的特性,使得代码更加清晰易读。GO语言注重代码的可读性和可维护性,强制采用一致的代码格式和命名规范,从而提高了团队协作的效率。

GO语言的编译器能够将GO代码编译成机器码,同时支持交叉编译,可以在不同的操作系统和架构上生成可执行文件,这使得GO语言具备了良好的可移植性。此外,GO语言还拥有强大的标准库和丰富的第三方库,为开发者提供了丰富的工具和功能,使得开发过程更加便捷。

2. 变量和数据类型

GO语言是静态类型的语言,变量在使用之前必须先声明。声明变量的基本语法为:

goCopy code
var 变量名 数据类型

GO语言支持多种基本数据类型,如整型、浮点型、布尔型和字符串型。例如:

goCopy code
var age int = 30
var pi float64 = 3.14159
var isTrue bool = true
var name string = "John"

GO语言还提供了自动类型推断的功能,可以根据变量的初始值自动推断其类型,例如:

goCopy code
var age = 30
var pi = 3.14159
var isTrue = true
var name = "John"

3. 控制流程

GO语言提供了常见的控制流程语句,如条件语句和循环语句。

条件语句

GO语言使用if语句来实现条件判断。例如:

goCopy code
if age >= 18 {
    fmt.Println("成年人")
} else {
    fmt.Println("未成年人")
}

GO语言还支持if语句的简写形式,可以在条件判断之前先执行一段代码,例如:

goCopy code
if num := 10; num > 0 {
    fmt.Println("正数")
} else if num < 0 {
    fmt.Println("负数")
} else {
    fmt.Println("零")
}

循环语句

GO语言提供了for语句来实现循环。常见的有三种形式:for循环、while循环和range循环。

for循环

for循环的基本语法为:

goCopy code
for 初始化语句; 条件语句; 循环体执行后的语句 {
    // 循环体代码
}

例如:

goCopy code
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

while循环

GO语言没有专门的while循环语句,但可以使用for循环来实现while循环的功能。例如:

goCopy code
i := 0
for i < 5 {
    fmt.Println(i)
    i++
}

range循环

range循环用于遍历数组、切片、映射和字符串等数据结构。例如:

goCopy code
numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
    fmt.Println(index, value)
}

4. 函数和包

GO语言使用函数来组织代码逻辑。函数的基本语法为:

goCopy code
func 函数名(参数列表) 返回值列表 {
    // 函数体代码
}

例如:

goCopy code
func add(a int, b int) int {
    return a + b
}

GO语言还支持多返回值的函数。例如:

goCopy code
func swap(a, b int) (int, int) {
    return b, a
}

GO语言的代码组织以包为单位,每个文件都属于一个包。一个包中可以包含多个函数,可以是程序的入口包,也可以是其他包的依赖包。

结论

本篇笔记介绍了GO语言的基础语法,包括变量和数据类型、控制流程、函数和包等。这些是GO语言编程的基础,掌握了这些知识后,可以开始编写简单的GO程序并逐步深入学习。