GO语言基础之数组
1.申明一个数组 var a[2] int 或者 a:=[2]int{1,2}
2.数组索引
数组就是索引的来建立如下图
我们再来一个测试
3.go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明
a:=[...]int{1,2,3,45}
4.指针数组
a:=[3]int{1,2,3}
var p * [3]int = &a //这种是指针数组 我们看到可以直接输出指向数组的指针
x , y :=1 ,3
a := [...]*int{&x ,&y}
str.Println(a) //输出这样[0xc080000068 0xc080000070]的地址 这就是数组指针
可以用new关键字申明
p := new([10]int)
fmt.Println(p) //&[0 0 0 0 0 0 0 0 0 0] 输出一个指针
多维数组跟其他语言一样
c := [3][2]int{{1: 2}, {2, 1}, {2, 2}}
fmt.Println(c) //输出[[0 2] [2 1] [2 2]]
冒泡算法之go语言版
package main
import "fmt"
func main() {
a := [...]int{3, 2, 5, 8, 6}
fmt.Println(a)
num := len(a)
for i := 0; i < num; i++ {
for j := i + 1; j < num; j++ {
if a[i] < a[j] {
temp := a[i]
a[i] = a[j]
a[j] = temp
}
}
}
fmt.Println(a)
}
相关文章
golang jsoniter extension 处理动态字段的实现方法
这篇文章主要介绍了golang jsoniter extension 处理动态字段的实现方法,我们使用实例级别的 extension, 而非全局,可以针对不同业务逻辑有所区分,jsoniter 包提供了比较完善的定制能力,通过例子可以感受一下扩展性,需要的朋友可以参考下2023-04-04Golang源码分析之golang/sync之singleflight
golang/sync库拓展了官方自带的sync库,提供了errgroup、semaphore、singleflight及syncmap四个包,本次先分析第一个包errgroup的源代码,下面这篇文章主要给大家介绍了关于Golang源码分析之golang/sync之singleflight的相关资料,需要的朋友可以参考下2022-11-11
最新评论