Go语言高级特性
Go语言中的高级特性包括切片(slices)、Map、Channel、结构体(structs)、接口(interfaces)、并发编程等。以下是一些Go语言中的高级特性的简单示例:
- 切片(Slice):
// 定义并初始化切片
numbers := []int{0, 1, 2, 3, 4, 5}
// 获取子切片
subSlice := numbers[1:4] // 结果为[1, 2, 3]
- Map:
// 创建并初始化Map
personalInfo := map[string]string{
"name": "Alice",
"age": "30",
}
// 添加新的键值对
personalInfo["email"] = "alice@example.com"
- Channel:
// 创建Channel
messages := make(chan string)
// 发送消息
go func() { messages <- "Hello, World!" }()
// 接收消息
msg := <-messages
- 结构体(Struct):
// 定义结构体
type Point struct {
X int
Y int
}
// 创建并初始化结构体实例
p := Point{X: 1, Y: 2}
- 接口(Interface):
// 定义接口
type Reader interface {
Read(p []byte) (n int, err error)
}
// 结构体实现接口
type MyReader struct {}
func (r MyReader) Read(p []byte) (n int, err error) {
copy(p, "Hello, World!")
return 12, io.EOF
}
- 并发编程:
// 并发地执行函数
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
fmt.Println("Hello, World!")
}()
go func() {
defer wg.Done()
fmt.Println("Hello, Go!")
}()
wg.Wait()
这些示例展示了Go语言中的一些核心高级特性。实际编程中,你可能还会遇到更多复杂的场景,如使用指针,错误处理,并发与同步原语等。
评论已关闭