Go语言是一门由Google开发的编程语言,也被称为Golang。它的设计目标是简单、高效、安全,并且适合于并发编程。在本文中,介绍Golang的基本语法和特性,并用代码举例说明。
- 基本语法
1.1 变量和常量
在Golang中,变量和常量的定义非常简单,只需要使用var
关键字定义变量,使用const
关键字定义常量。例如:
var x int = 10 // 定义一个整数型变量x,初始值为10
const pi float64 = 3.14159 // 定义一个浮点型常量pi,值为3.14159
1.2 数据类型
Golang支持多种数据类型,包括整型、浮点型、布尔型、字符串、数组、切片、映射等等。例如:
var x int = 10 // 整数型变量
var y float64 = 3.14 // 浮点型变量
var z bool = true // 布尔型变量
var str string = "hello world" // 字符串变量
var arr [3]int = [3]int{1, 2, 3} // 数组变量
var sli []int = []int{1, 2, 3} // 切片变量
var m map[string]int = map[string]int{"one": 1, "two": 2, "three": 3} // 映射变量
1.3 控制流语句
Golang支持常见的控制流语句,包括if
语句、for
语句、switch
语句等等。例如:
var x int = 10
if x > 5 {
fmt.Println("x is greater than 5")
} else {
fmt.Println("x is less than or equal to 5")
}
for i := 0; i < 5; i++ {
fmt.Println(i)
}
switch x {
case 1:
fmt.Println("x is 1")
case 2:
fmt.Println("x is 2")
default:
fmt.Println("x is not 1 or 2")
}
- 特性
2.1 并发编程
Golang在设计时考虑了并发编程的需求,因此它提供了一套完善的并发编程机制。其中最常用的是goroutine
和channel
。goroutine
是轻量级的线程,可以在程序中创建多个goroutine
,它们可以同时执行不同的任务。channel
是一种通信机制,可以用于goroutine
之间的通信和同步。
func main() {
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch)
}()
for i := range ch {
fmt.Println(i)
}
}