Go 语言(Golang)是一种由 Google 开发的静态类型

2025-05-14ASPCMS社区 - fjmyhfvclm

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 //

全部评论