Go语言基础语法主要包括以下几个方面:
- 变量和常量:Go语言使用var关键字来声明变量,const关键字用来声明常量。
- 数据类型:Go语言包含基本数据类型如整数、浮点数、布尔值、字符串、字符等,还有复合数据类型如数组、切片、字典、结构体等。
- 运算符:Go语言中包含算术运算符、比较运算符、逻辑运算符、位运算符等。
- 控制语句:Go语言中有if、switch、for等控制语句来控制程序的流程。
- 函数:Go语言的函数使用func关键字定义,支持参数、返回值等特性。
- 指针:Go语言中可以通过&和*符号来操作指针。
- 包:Go语言中的程序是通过包来组织的,一个包可以包含多个文件。
- 异常处理:Go语言使用defer、panic和recover等关键字来进行异常处理。
1. 变量和常量
- 使用var关键字来声明变量,可以指定变量类型或使用类型推断。
- 使用const关键字来声明常量。
- 可以一次性声明多个变量或常量,例如:var a, b int 或 const PI = 3.14。
- 可以在函数外部或内部使用变量和常量。
package main
import "fmt"
const PI = 3.14
func main() {
var name string = "Tom"
age := 20
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("PI:", PI)
}
2. 数据类型
- 基本数据类型包括整数、浮点数、布尔值、字符串、字符等。
- 复合数据类型包括数组、切片、字典、结构体等。
- 使用“make”函数来创建切片、字典等动态数据结构。
package main
import "fmt"
func main() {
// 定义整数、浮点数、布尔值、字符串、字符
var i int = 100
var f float32 = 3.1415
var b bool = true
var s string = "hello"
var c rune = 'a'
fmt.Println("Integer:", i)
fmt.Println("Float:", f)
fmt.Println("Boolean:", b)
fmt.Println("String:", s)
fmt.Println("Char:", c)
// 定义数组
var arr [5]int = [5]int{1, 2, 3, 4, 5}
fmt.Println("Array:", arr)
// 定义切片
var slice []int = make([]int, 5)
fmt.Println("Slice:", slice)
// 定义字典
var dict map[string]int = make(map[string]int)
dict["Tom"] = 20
dict["Jack"] = 30
fmt.Println("Dictionary:", dict)
// 定义结构体
type Person struct {
Name string
Age int
}
var person Person = Person{"Tom", 20}
fmt.Println("Struct:", person)
}
3. 运算符
- 算术运算符包括加、减、乘、除、取余等。
- 比较运算符包括等于、不等于、大于、小于等。
- 逻辑运算符包括与、或、非等。
- 位运算符包括按位与、按位或、按位异或、左移、右移等。
package main
import "fmt"
func main() {
// 算术运算符
var a, b int = 10, 20
var c float32 = 3.14
fmt.Println("a + b:", a+b)
fmt.Println("a - b:", a-b)
fmt.Println("a * b:", a*b)
fmt.Println("a / b:", a/b)
fmt.Println("a % b:", a%b)
fmt.Println("c * 2:", c*2)
// 比较运算符
fmt.Println("a == b:", a == b)
fmt.Println("a != b:", a != b)
fmt.Println("a > b:", a > b)
fmt.Println("a < b:", a < b)
// 逻辑运算符
fmt.Println("a > 5 && b < 30:", a > 5 && b < 30)
fmt.Println("a > 5 || b < 30:", a > 5 || b < 30)
fmt.Println("!(a > 5 && b < 30):", !(a > 5 && b < 30))
// 位运算符
var x, y int = 10, 20
fmt.Printf("x & y: %d\n", x&y)
fmt.Printf("x | y: %d\n", x|y)
fmt.Printf("x ^ y: %d\n", x^y)
fmt.Printf("x << 2: %d\n", x<<2)
fmt.Printf("x >> 2: %d\n", x>>2)
}
以上是关于Go语言基础语法的简要笔记和代码,希望对各位掘金各大网友有帮助。