Go 语言简介
Go语言的设计目标是简单、高效、可靠,并且易于编程,以解决其他编程语言的一些痛点和限制。
- 并发支持:Go 语言天生支持并发编程,提供了轻量级的Goroutines和通道(Channel)机制,使并发编程变得简单和高效。这使得编写并发程序变得容易,且能够充分利用多核处理器。
- 高性能:Go 语言在运行时性能方面表现优异。其编译器能够产生高效的机器码,使得 Go 程序在性能上能够与 C++ 等编程语言相媲美。
- 跨平台:Go语言支持跨多个平台,包括Windows、Linux、macOS等。开发者可以方便地编译和运行代码在不同的操作系统上。
- 强调工具链:Go语言提供了完善的工具链,包括代码格式化工具、测试工具、性能分析工具等,使得开发、测试和部署变得更加简单和高效。
- 丰富的标准库:Go语言内置了许多常用的库,涵盖网络、文件操作、加密、文本处理等多个领域,让开发者能够更轻松地构建复杂的应用程序。
基本语法
先看看所有语言中最基础的一个程序Hello World
package main
import "fmt"
// This is discription
func main() {
fmt.Println("Hello, World!")
}
让我们来看下以上程序的各个部分:
- Package声明
代码以 package main 开头,表明这个Go文件属于 main 包。在Go中,每个可执行程序都必须有一个 main 包,并且在 main 包中必须有一个 main() 函数作为程序的入口点。
- 导入语句
使用 import "fmt" 导入了 fmt 包。fmt 包是Go标准库中的一个包,提供了输入输出和格式化文本的功能。在本代码中,使用了 fmt.Println() 函数来输出文本。
- 注释
// This is description 是一行注释。在Go中,使用 // 表示单行注释,用于向代码中添加解释和说明。
- main函数
在Go程序中,main() 函数是程序的入口点。当程序执行时,它会首先执行 main() 函数。在这段代码中,main() 函数简单地调用 fmt.Println() 函数,将字符串"Hello, World!"输出到控制台。
- 执行输出
代码通过调用 fmt.Println("Hello, World!") 将 “Hello, World!” 这个字符串输出到终端。fmt.Println() 函数是一个方便的方法,用于在控制台输出文本,并在输出的最后自动添加一个换行符。
变量和常量
在Go中,变量和常量的声明有一些不同。以下是它们的声明方式和特点:
- 变量声明:
- 使用 var 关键字进行变量声明,格式如下:var variableName dataType
- 变量命名需遵循规则:以字母或下划线开头,由字母、数字或下划线组成,且不可使用Go语言的关键字。
- 支持批量声明多个变量,例如:var x, y int
- 若变量声明时未指定初始值,则默认为其数据类型的零值。例如,int 类型的零值为 0,string 类型的零值为空字符串 "" 。
- 短变量声明:
- Go提供了一种简洁的变量声明和初始化方式,即短变量声明,其语法为:variableName := value
- 这种方式允许在声明变量的同时进行初始化,并且编译器会自动推断变量类型。
- 常量声明:
- 使用 const 关键字进行常量声明,其基本格式是:const constantName dataType = value
- 声明常量时,必须立即对其进行初始化,并且一旦赋值后,其值不可更改。
- 常量可以属于多种类型,包括字符、字符串、布尔值以及数值类型(包括整数和浮点数)。
- 命名规则与变量一致,即常量名应以字母或下划线开头,并可以包含字母、数字和下划线,但不可使用Go语言的关键字。
- 常量的值必须是编译时就能够确定的静态表达式,例如:const a = 1。