快速入门案例
如何使用Go语言编写一个打印 "Hello, World!" 的程序
package main
import "fmt" // 导入 fmt 包,用于打印输出
func main() {
fmt.Println("Hello, World!") // 使用 Println 函数打印输出文本
}
基础语法部分
-
包(Package):
- 每个Go程序都由包组成。
main包是可执行程序的入口包。
-
导入(Import):
- 使用
import关键字导入需要使用的包。 - 可以使用圆括号同时导入多个包,也可以使用别名来简化包名。
- 使用
-
函数(Function):
- 使用
func关键字定义函数。 - 函数可以有参数和返回值。
- 使用
return语句返回结果。
- 使用
-
变量(Variable):
- 使用
var关键字声明变量。 - 可以通过类型推断来省略变量类型。
- 使用
:=运算符进行变量的声明和赋值。
- 使用
-
常量(Constant):
- 使用
const关键字定义常量。 - 常量的值在编译时确定,不能修改。
- 使用
-
数据类型(Data Types):
- 基本数据类型包括整型、浮点型、布尔型、字符串和字符型。
- 复合数据类型包括数组、切片、映射、结构体、接口和指针。
-
控制流(Control Flow):
if、else和switch语句用于条件控制。for循环用于迭代操作。break和continue语句用于控制循环。
-
指针(Pointers):
- 使用
&运算符获取变量的地址。 - 使用
*运算符解引用指针。
- 使用
-
结构体(Struct):
- 使用
type和struct关键字定义结构体类型。 - 可以通过
.运算符访问结构体字段。
- 使用
-
切片(Slice):
- 切片是对数组的抽象,可以动态增长。
- 使用
make函数创建切片。 - 使用切片的索引和切片表达式来访问和操作元素。
-
函数方法(Function Methods):
- 可以为自定义类型定义方法。
- 使用特殊的接收者参数来实现方法。
综合案例
package main
import (
"fmt"
)
const (
pi = 3.14
apples = 10
)
func main() {
var name string = "Alice" // 声明并初始化一个字符串变量
age := 25 // 使用简短声明语法初始化一个整数变量
fmt.Println("你好,世界!")
fmt.Println("我的名字是", name, ",我今年", age, "岁。")
area := calculateArea(5.0) // 调用函数计算圆的面积
fmt.Println("圆的面积为", area)
numbers := []int{1, 2, 3, 4, 5} // 声明并初始化一个整数切片
sum := calculateSum(numbers) // 调用函数计算切片中数字的总和
fmt.Println("数字的总和为", sum)
greet := greeting("Bob") // 调用函数生成问候语
fmt.Println(greet)
}
// 计算圆的面积
func calculateArea(radius float64) float64 {
return pi * radius * radius
}
// 计算整数切片的总和
func calculateSum(numbers []int) int {
sum := 0
for _, num := range numbers {
sum += num
}
return sum
}
// 生成问候语
func greeting(name string) string {
return "你好," + name + "!"
}