Go语法基础(1)
在这篇笔记中,我们将介绍Go语言的基础语法,并通过代码示例来演示其用法。
1. 第一个Go程序
我们从一个简单的“Hello, World!”程序开始。创建一个名为hello.go的文件,并输入以下代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
代码解析
package main:定义一个包,main是一个特殊的包,表示可执行程序的入口。import "fmt":导入fmt包,用于格式化输出。func main():定义主函数,程序从这里开始执行。fmt.Println("Hello, World!"):打印字符串到控制台。
运行程序
在终端中运行以下命令:
go run hello.go
你应该会看到输出:
Hello, World!
2. 变量与常量
Go语言使用var关键字声明变量,使用const关键字声明常量。
变量
var name type//仅声明变量
var name [type] = value //声明变量并初始化
name := value //变量的简短声明
注: 上面两种方式可以声明全局变量和局部变量,而第三种仅仅可以声明局部变量。[type]意味着可以省略。
常量
const name [type] = value
下面是一个示例:
package main
import "fmt"
func main() {
var name string = "Alice"
var age = 30
local := "XXX"
const pi = 3.14
const e float64 = 2.718
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Local",local)
fmt.Println("Pi:", pi)
fmt.Println("E",e)
}
代码解析
var name string = "Alice":声明一个字符串类型的变量name。const pi = 3.14:声明一个常量pi。
4. 控制结构
Go语言支持常见的控制结构,如条件语句和循环。以下是一个使用if和for的示例:
package main
import "fmt"
func main() {
number := 10
if number%2 == 0 {
fmt.Println(number, "是偶数")
} else {
fmt.Println(number, "是奇数")
}
fmt.Println("打印1到5的数字:")
for i := 1; i <= 5; i++ {
fmt.Println(i)
}
}
代码解析
if number%2 == 0:判断数字是否为偶数。for i := 1; i <= 5; i++:使用for循环打印1到5的数字。
5. 函数
函数是Go语言的基本构件。重复代码多了 --> 函数,以下是一个简单的函数示例:
package main
import "fmt"
// 定义一个函数,计算两个数的和
func add(a int, b int) int {
return a + b
}
func main() {
sum := add(5, 7)
fmt.Println("5 + 7 =", sum)
}
代码解析
func add(a int, b int) int:定义一个接受两个整数并返回一个整数的函数。sum := add(5, 7):调用函数并将结果存储在sum中。
6. 结构体
结构体是Go语言中的复合数据类型,用于组合多个字段。变量多了 --> 结构体,以下是一个结构体的示例:
package main
import "fmt"
// 定义一个结构体
type Person struct {
Name string
Age int
}
func main() {
// 创建一个结构体实例
person1 := Person{Name: "Bob", Age: 25}
var person2 = Person {
"xiaowang",
15,
}
var person3 Person
person3.Name = "xiaoming"
person3.Age = 18
fmt.Printf("%T\n",person1)
fmt.Println("Name:", person1.Name)
fmt.Println("Age:", person1.Age)
fmt.Println("Name:", person2.Name)
fmt.Println("Age:", person2.Age)
fmt.Println("Name:", person3.Name)
fmt.Println("Age:", person3.Age)
}
代码解析
type Person struct:定义一个名为Person的结构体,包含Name和Age字段。- 可以看出有几种方式可以创建实例并初始化,并且发现
person1的类型是main.Person。
结论
通过这篇笔记,我们介绍了Go语言的基本概念,包括变量、常量、控制结构、函数和结构体。