Go 基础语法
Go(也叫Golang)是一种由Google开发的编程语言,以其简洁、高效和并发处理能力强而广受欢迎。以下是一些Go语言的基础语法:
1. 基本结构
Go程序由package、import和main函数组成。main函数是程序的入口。
package main import "fmt" func main() { fmt.Println("Hello, World!") }
2. 变量声明
Go中变量声明可以通过var关键字、:=简短声明语法来进行。
使用var声明变量: var x int x = 10 使用:=简短声明: x := 10
3. 数据类型
Go有多种基本数据类型:
整数类型:int, int8, int16, int32, int64等。 浮动点类型:float32, float64。 布尔类型:bool。 字符串类型:string。 var age int = 30 var name string = "Go" var price float64 = 19.99
4. 常量
常量使用const声明:
const Pi = 3.14
5. 控制结构
Go的控制结构包括if、else、for、switch等。
if语句: if x > 0 { fmt.Println("Positive") } else { fmt.Println("Non-positive") } for循环: for i := 0; i < 5; i++ { fmt.Println(i) } switch语句: switch day := 3; day { case 1: fmt.Println("Monday") case 2: fmt.Println("Tuesday") default: fmt.Println("Other day") }
6. 函数
Go中函数的定义和调用很简单。函数定义如下:
func add(a int, b int) int { return a + b } result := add(5, 3) fmt.Println(result)
如果多个参数类型相同,可以省略后面的类型:
func add(a, b int) int { return a + b }
7. 数组和切片
数组: 数组长度是固定的,声明数组时需要指定长度。
var arr [3]int = [3]int{1, 2, 3} 切片: 切片是动态数组,可以随时扩展。 var slice []int = []int{1, 2, 3} slice = append(slice, 4) fmt.Println(slice)
8. 结构体
结构体是自定义数据类型,包含多个字段。
type Person struct { Name string Age int } var p Person p.Name = "John" p.Age = 30
9. 方法
Go中的方法是与特定类型绑定的函数。
type Circle struct { Radius float64 } func (c Circle) Area() float64 { return 3.14 * c.Radius * c.Radius } var c Circle c.Radius = 5 fmt.Println(c.Area())
10. 并发(goroutines和channels)
Go的并发通过goroutines和channels实现。goroutine是轻量级的线程,可以并发执行。
创建goroutine:
go func() { fmt.Println("Hello from goroutine") }() channels: ch := make(chan int) go func() { ch <- 42 }() result := <-ch fmt.Println(result)
11. 错误处理
Go不使用异常处理,而是通过返回错误值来处理异常情况。
func divide(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("cannot divide by zero") } return a / b, nil } result, err := divide(10, 0) if err != nil { fmt.Println("Error:", err) } else { fmt.Println("Result:", result) }
这些是Go的基础语法。如果你有更具体的需求或问题,随时可以问我!
本文来自博客园,作者:泥鳅炖土豆,转载请注明原文链接:https://www.cnblogs.com/tomAndCatQingkuang/p/18734420
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具