Go语言是一种由Google开发的开源编程语言,它简洁、高效、易用,并且具有很多强大的特性和优势。本文将对Go语言的基础语法和常用特性进行解析,总结如下。
一、基础语法
变量和常量:
Go语言使用var关键字声明变量。同时,可以使用:=进行变量的自动类型推断,并且必须在函数内部使用。常量使用const关键字声明,一旦声明不能更改。
package main
import "fmt"
func main() {
var a int // 声明变量a
a = 10 // 赋值操作
b := 20 // 自动类型推断
const c = 30 // 声明常量
fmt.Println(a, b, c)
}
数据类型:
Go语言拥有基本数据类型(例如整型、浮点型、布尔型等)和复合数据类型(数组、切片、映射、结构体等)。同时也支持自定义数据类型。
package main
import "fmt"
func main() {
var num int // 声明整型变量
num = 10 // 赋值
var name string = "John" // 声明字符串变量
score := 90.5 // 自动类型推断声明浮点型变量
var isSuccess bool = true // 声明布尔型变量
fmt.Println(num, name, score, isSuccess)
}
控制语句:
Go语言的控制语句包括条件语句(if、switch),循环语句(for、range),以及特殊的语句(continue、break、goto)。
package main
import "fmt"
func main() {
// 条件语句
num := 10
if num > 0 {
fmt.Println("num是正数")
} else if num < 0 {
fmt.Println("num是负数")
} else {
fmt.Println("num是零")
}
// 循环语句
for i := 0; i < 5; i++ {
fmt.Println(i)
}
// 特殊语句
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // 跳过本次循环
}
if i == 7 {
break // 结束循环
}
fmt.Println(i)
}
}
函数:
Go语言中的函数使用func关键字进行定义。函数可以返回多个值,并且函数也可以作为参数传递给其他函数。
package main
import "fmt"
func add(a, b int) int {
return a + b
}
func multiply(a, b float64) float64 {
return a * b
}
func main() {
sum := add(2, 3)
product := multiply(2.5, 4.5)
fmt.Println(sum, product)
}
指针:
Go语言支持指针类型,可以通过指针来访问和修改变量的值。同时,Go语言还提供了new和make两个内置函数用于创建指针类型的对象。
package main
import "fmt"
func main() {
num := 10
fmt.Println("num的值:", num)
fmt.Println("num的内存地址:", &num)
// 定义指针变量
var p *int
p = &num // 将num的内存地址赋值给指针变量p
fmt.Println("指针变量p的值:", p)
fmt.Println("指针变量p指向的值:", *p)
// 修改指针指向的值
*p = 20
fmt.Println("修改后的num的值:", num)
}
在上面的示例代码中,我声明了一个整型变量num并赋值为10。然后,我通过&num获取了num的内存地址,并将其赋值给指针变量p。通过*p可以获取指针p指向的值,也就是num的值。最后,通过修改*p的值,即可以修改num的值。