发布时间:2024-12-23 03:50:47
Golang和C语言都使用var关键字来声明变量,并且可以在声明时进行初始化。例如:
var a int = 1
这里的a是一个整数类型的变量,初始值为1。Golang还支持短声明方式:
a := 1
这样可以自动推导出变量类型。
Golang和C语言的控制流程语句非常相似。两者都支持if语句、for循环、switch语句等。
Golang的if语句使用条件表达式判断,不需要使用括号将条件包裹起来:
if age >= 18 {
// do something
}
Golang的for循环使用range关键字迭代数组、切片、映射等集合:
for index, value := range arr {
// do something
}
Golang的switch语句与C语言类似,不需要使用break关键字:
switch day {
case "Monday":
fmt.Println("Today is Monday")
case "Tuesday":
fmt.Println("Today is Tuesday")
default:
fmt.Println("Today is not Monday or Tuesday")
}
Golang的函数定义和C语言非常相似,都需要指定函数名、参数列表和返回值类型。例如:
func add(a int, b int) int {
return a + b
}
函数的调用也类似,在函数名后面紧跟()并传入参数:
result := add(1, 2)
Golang还支持多返回值:
func swap(a, b int) (int, int) {
return b, a
}
可以一次性获取到多个返回值。
在Golang中,数组和切片都是非常重要的数据类型。两者都是由相同类型的元素组成的,但数组的长度是固定的,而切片的长度是可变的。
Golang和C语言的数组都使用[]来定义:
var arr [5]int
Golang的切片使用make函数来创建,并且支持动态扩容:
slice := make([]int, 0)
在Golang和C语言中,指针都是用来存储变量地址的。两者都使用*来声明指针类型。
Golang的指针使用&来获取变量地址:
var a int = 1
var ptr *int = &a
Golang还支持指针操作符*,可以通过指针访问底层值:
fmt.Println(*ptr)
Golang和C语言都支持结构体。Golang中的结构体和C语言的结构体非常相似,都是由一组成员变量组成的。
Golang的结构体使用type关键字定义:
type Person struct {
Name string
Age int
}
使用点号.可以访问结构体的成员变量:
person := Person{Name: "Alice", Age: 18}
fmt.Println(person.Name)