Go语言特点
- 高性能,高并发
- 语法简单、学习曲线平缓
- 丰富标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
Go语言基础语法
1.Hello World
让我们从传统的“Hello, World!”程序开始,这是学习任何编程语言的第一步。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
编写这个简单的程序时,我体会到了Go语言的简洁性和直观性。一行代码,就可以实现输出。这种简单与高效让我深受鼓舞。
2.变量与常量
在Go中,需要先声明变量或常量,然后再使用它们。变量可以根据需要修改其值,而常量是固定不变的。
import "fmt"
func main() {
// 声明并初始化变量
var age int = 30
name := "Alice" // 类型推断,等同于 var name string = "Alice"
// 声明常量
const pi = 3.14159
fmt.Println(name, "is", age, "years old.")
fmt.Println("The value of pi is", pi)
}
3.数据类型
Go是一种静态类型语言,因此每个变量都有固定的数据类型。以下是一些常见的数据类型:
- 整数类型:
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64 - 浮点数类型:
float32,float64 - 字符串类型:
string - 布尔类型:
bool - 其他类型:
byte(uint8 的别名),rune(int32 的别名, 用于表示Unicode字符)
熟悉不同的数据类型让我感受到了Go语言的严谨和稳健。通过指定明确的类型,我们可以更好地控制数据,减少错误和异常情况。
4.控制流
import "fmt"
func main() {
// if语句
age := 18
if age >= 18 {
fmt.Println("You are an adult.")
} else {
fmt.Println("You are a minor.")
}
// for循环
for i := 1; i <= 5; i++ {
fmt.Println(i)
}
// switch语句
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
default:
fmt.Println("Unknown day")
}
}
控制流语句是编程的灵魂,也是最具表现力的部分。通过使用Go的控制流,我感受到了掌控程序流程的力量。
5.函数
在Go中,函数是基本的代码块。通过函数,我们可以将代码模块化,提高代码的可读性和重用性。
import "fmt"
func add(a, b int) int {
return a + b
}
func main() {
result := add(5, 3)
fmt.Println("5 + 3 =", result)
}
6.数组与切片
Go中的数组是固定长度且类型相同的数据结构,而切片则是对数组的动态视图。
import "fmt"
func main() {
// 声明数组并初始化
var numbers [5]int = [5]int{1, 2, 3, 4, 5}
// 声明切片并初始化
var colors []string = []string{"red", "blue", "green"}
// 使用range迭代切片
for index, value := range colors {
fmt.Println("Index:", index, "Value:", value)
}
}
7.结构体与方法
Go中的结构体允许我们定义自定义的数据类型,方法则是可以与结构体关联的函数.
import "fmt"
type Person struct {
name string
age int
}
func (p Person) introduce() {
fmt.Println("Hi, my name is", p.name, "and I'm", p.age, "years old.")
}
func main() {
p1 := Person{"Alice", 25}
p1.introduce()
}