Go语言是谷歌2009发布的第二款开源编程语言。
Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
区分数组和切片的区别:
进一步代码举例说下两者的区别:
(1)通过反射弧判断Array还是Slice
func main() {
arr1 := [3]int{1,2,3} //指定长度Array
slice1 := []int{1,2,3} //不指定长度
//注:Slice就是长度可变的Array
//反射弧判断是Array还是Slice
fmt.Println(reflect.TypeOf(arr1).Kind())
fmt.Println(reflect.TypeOf(slice1).Kind())
}
输出:
array
slice
(2)指定长度和不指定长度初始化的不同
arr1 :=[3]int{1,2,3} //指定长度Array
arr2 := [...]int{1,2,3} //不指定长度Array
slice1 :=make([]int,3) //指定长度Slice
slice2 := []int{1,2,3} //不指定长度Slice
(3)函数传值
Array值传递
func main() {
arr1 := [3]int{1, 2, 3}
func(arr [3]int) {
arr[0] = 7
fmt.Println(arr)
}(arr1)
fmt.Println(arr1)
}
输出:
[7 2 3]
[1 2 3]
Slice指针传递
func main() {
slice1 := []int{1, 2, 3}
func(arr []int) {
arr[0] = 7
fmt.Println(arr)
}(slice1)
fmt.Println(slice1)
}
输出:
[7 2 3]
[7 2 3]
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。
¥299.00
¥699.00
¥399.00
¥399.00