Go 语言(Golang)是一种由 Google 开发的静态类型
Go 语言(Golang)是一种由 Google 开发的静态类型、编译型编程语言,旨在提高生产力和代码可读性。它结合了现代语言的特性,如垃圾回收、结构体类型、接口、并发支持等,同时保持了简单性和高效性。以下是 Go 语言的一些核心概念和特性:
️1. 基本特性
- ️静态类型:变量在声明时需要指定类型。
- ️编译型:Go 代码会被编译成机器码,直接运行,无需虚拟机。
- ️垃圾回收:自动管理内存,减少内存泄漏风险。
- ️并发支持:通过 goroutine 和 channel 轻松实现并发编程。
- ️跨平台:支持多种操作系统和架构。
️2. 基本语法示例
️(1) 包声明和导入
每个 Go 程序都以 package 声明开始,main 包是程序的入口。
go
package main import "fmt" // 导入标准库的 fmt 包 func main() { fmt.Println("Hello, Go!")}
️(2) 变量声明
Go 支持多种变量声明方式:
go
var a int = 10 // 显式类型声明var b = 20 // 类型推断c := 30 // 短变量声明(只能在函数内使用)
️(3) 函数
函数是 Go 的基本构建块:
go
func add(x int, y int) int { return x + y} func main() { sum := add(10, 20) fmt.Println("Sum:", sum)}
️3. 并发编程
Go 的并发模型基于 goroutine 和 channel:
️(1) Goroutine
Goroutine 是轻量级线程,由 Go 运行时管理。
go
func sayHello() { fmt.Println("Hello from goroutine!")} func main() { go sayHello() // 启动一个 goroutine fmt.Println("Hello from main!") time.Sleep(time.Second) // 等待 goroutine 执行}
️(2) Channel
Channel 用于 goroutine 之间的通信。
go
func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v } c <- sum // 发送结果到 channel} func main() { s := []int{1, 2, 3, 4, 5} c := make(chan int) go sum(s, c) result := <-c //