Go语言是一种并发性高、静态类型、强类型的编程语言,它的设计目的是提高程序开发的效率和可维护性。以下是一些基本概念和代码示例,帮助你快速入门Go语言:
1. 变量和常量
Go语言需要明确声明变量类型,可以使用关键字var来定义变量,也可以使用:=进行简短声明。常量可以使用const关键字定义。
// 定义变量
var i int
i = 1
// 简短声明
j := 2
// 定义常量
const k = 3
2. 数据类型
Go语言的基本数据类型包括整型、浮点型、布尔型、字符串等。可以使用fmt包输出数据类型。
i := 1 // 整型
f := 3.14 // 浮点型
b := true // 布尔型
s := "hello" // 字符串
fmt.Printf("i=%d, f=%f, b=%t, s=%s", i, f, b, s)
3. 数组和切片
Go语言的数组和切片是非常重要的数据结构。数组是定长的,而切片是动态的。可以使用for循环遍历数组和切片。
// 定义数组
var a [3]int
a[0] = 1
a[1] = 2
a[2] = 3
// 定义切片
b := []int{1, 2, 3}
// 访问数组和切片元素
fmt.Println(a[0], b[0])
// 遍历数组和切片
for i := 0; i < len(a); i++ {
fmt.Println(a[i])
}
for _, v := range b {
fmt.Println(v)
}
4. 函数
Go语言的函数可以返回多个值,而且函数也可以作为参数传递。
// 定义函数
func add(a int, b int) int {
return a + b
}
// 调用函数
c := add(1, 2)
fmt.Println(c)
// 函数返回多个值
func swap(a int, b int) (int, int) {
return b, a
}
x, y := swap(1, 2)
fmt.Println(x, y)
// 函数作为参数传递
func apply(a int, b int, f func(int, int) int) int {
return f(a, b)
}
d := apply(1, 2, add)
fmt.Println(d)
5. 接口
Go语言的接口是一种能力描述,可以用来描述一个类型的方法集合。可以使用接口来实现多态。
// 定义接口
type Shaper interface {
Area() float64
}
// 定义结构体
type Square struct {
side float64
}
func (s *Square) Area() float64 {
return s.side * s.side
}
// 定义函数
func PrintArea(s Shaper) {
fmt.Println(s.Area())
}
// 使用接口实现多态
s := &Square{side: 1}
PrintArea(s)
以上是Go语言的一些基本概念和代码示例。