Go语言的特点
- 简单易学: Go语言的语法简洁清晰,与C语言风格相似,易于学习和掌握。
- 高性能、并发编程: Go语言原生支持并发编程,采用了轻量级的Goroutine并发模型和Channel通信机制,使得编写并发程序变得更加简单和高效。Go语言具备良好的性能,它的编译器将Go代码编译为机器码,且在运行时使用垃圾回收机制来管理内存,有效地提高了程序的执行效率。
- 完善的工具链: Go语言内置了丰富的工具集,包括格式化工具、测试工具、性能分析工具等,开发者可以方便地进行代码格式化、单元测试和性能借助于这些标准库,开发者可以更快地构建出高效、可靠和安全的应用程序。此外,Go语言社区也提供了丰富的第三方包,可供开发者使用和扩展。优化等操作。
- 丰富的标准库: Go语言的标准库是它的一个重要特点,它提供了许多功能丰富和易于使用的包,涵盖了各个领域。借助于这些标准库,开发者可以更快地构建出高效、可靠和安全的应用程序。此外,Go语言社区也提供了丰富的第三方包,可供开发者使用和扩展。
- 跨平台支持:Go语言支持多种主流操作系统和硬件架构,可以编译生成可执行文件,无需依赖其他库或运行环境,便于在不同平台上部署和运行。
- 垃圾回收:Go语言通过垃圾回收机制自动管理内存,避免了常见的内存错误,如内存泄漏和野指针,提高了程序的安全性和稳定性。
- 静态链接:Go语言是一种静态类型语言,编译器会在编译阶段进行类型检查,可以提早发现潜在的类型错误,减少运行时的错误。
- 快速编译:Go语言具有快速的编译速度,这是由于Go编译器的设计和优化带来的。
-
变量
var + 变量名 + 变量类型 (在Go语言中变量类型在变量名后面)
使用步骤 :
-
变量的声明
-
变量的赋值
-
变量的使用
| 12345678910111213141516 | package main ``import ( ``"fmt" ) ``func main() { ``// 变量的声明 ``var A ``int // 变量的赋值 `` A = ``18 // 变量的使用 ``fmt.``Println``(``"A = "``, A) ``}``// var 可以自己判断变量类型``var B = ``18``// 省略var 用:=`` C := ``"Hello World" |
|---|
每个类型有默认值,如果不对变量进行赋值,变量的值为默认值
-
数据类型
在Go语言中,有几种基本的数据类型可以用来存储不同种类的数据。下面是常见的基本数据类型:
- 整数类型(int) :用于表示整数值,包括有符号和无符号的整数类型。例如:
int、int8、int16、int32、int64、uint、uint8、uint16、uint32、uint64等。 - 浮点数类型(float) :用于表示小数值,有两种精度的浮点数类型:
float32和float64。 - 布尔类型(bool) :用于表示逻辑值,只有两个取值:
true和false。 - 字符串类型(string) :用于表示文本,使用双引号或反引号将文本括起来。例如:“Hello, Go!”。
- 字符类型:用于表示单个字符,使用单引号将字符括起来。例如:‘A’。
- 指针类型:用于存储变量的内存地址,指向变量所在的内存空间。
- 数组类型:用于存储固定长度的相同类型元素的集合。
- 切片类型:用于存储可变长度的相同类型元素的序列。
- 映射类型:用于存储键值对集合,类似于字典。
- 结构体类型:用于定义自定义的复合数据类型,可以包含不同类型的字段。
-
函数
提高代码的复用性和维护性,减少代码冗余
| 1234567 | //函数的声明`` ``func 函数名 (形参列表)(返回值类型列表){`` ``执行语句`` ``return + 返回值列表``}``//函数的调用``函数名 + (形参``1``,形参``2``,...) |
|---|
注意
函数名 首字母大写,可以在本包文件和其它包文件访问(类似public)
函数名 首字母小写,只能被本包文件访问(类似private)
Go语言函数可以有多个返回值
Go语言函数是一种数据类型赋值给变量,也可以当成其它函数是形参和返回
Go语言中函数不支持重载,但支持可变参数
| 1234567891011 | package main``// 定义一个函数,函数参数为: 可变参数名 + ... + 参数类型``func test (num...``int``){`` ``//函数内部将可变参数当作切片处理``}``func main(){`` ``test()`` ``test(``1``)`` ``test(``2``,``28``,``30``)`` ``test(``2``,...,``100``)``} |
|---|