Go 语言入门指南:基础语法与常用特性解析****
Go(Golang)是一种静态类型、编译型语言,由 Google 开发,因其简洁的语法和高并发特性广受欢迎。 Go语言以其简洁的语法、静态类型检查、高效的并发支持和跨平台能力,为开发者提供了一种现代化、高效的开发工具。掌握变量、控制结构、函数、指针、并发等核心语法特性,可以快速上手开发从CLI工具到Web服务的大量应用场景。
1. Go 的基础语法****
1.1 Go 程序结构****
一个简单的 Go 程序结构如下:
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
1.2 数据类型****
Go 提供多种内置数据类型:
• 基本类型:int, float64, string, bool
• 复合类型:array, slice, map, struct
• 特殊类型:chan, interface, function
var slice []int // 切片
var m map[string]string // 字典
我使用切片遇到的坑,总结一下 切片与数组共享内存:切片背后是数组的引用,修改切片的元素会影响原始数组,反之亦然。 **1.3 结构体(Struct) 切片容量的变化:append会在切片容量不足时创建一个新的底层数组,因此会改变切片的引用。需要注意这个变化可能导致引用不一致的问题。 切片越界:访问切片时,如果索引超出切片的长度,会导致运行时错误(panic)。 切片的容量不足导致重新分配:当追加元素时,如果切片容量不足,Go会自动分配更大的内存。注意,新内存的切片会指向新数组,可能导致预期外的内存使用和性能问题。
结构体是自定义数据类型。
Name string
Age int
}
p := Person{Name: "Alice", Age: 25}
fmt.Println(p.Name)
结构体(struct)是Golang中的一种自定义数据类型,用于将一组相关的字段组合在一起。它类似于面向对象编程中的“类”,但Go语言并不完全支持传统的面向对象编程。Golang的结构体灵活且功能强大,不仅能定义复杂的数据模型,还能通过嵌套、方法、标签和接口组合等实现模块化开发。无论是处理基本数据、模拟类继承还是实现高效并发,结构体在Golang开发中都扮演了不可替代的角色。
Go 语言的结构体字段名有大小写敏感的访问控制规则:
• 大写字母开头的字段:表示该字段可以在包外访问(即公共字段)。
• 小写字母开头的字段:表示该字段只能在包内访问(即私有字段)。