数组Array
- 定义数组的格式:var [n],n>=0
- 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型
- 注意区分指向数组的指针和指针数组
- 数组在Go中为值类型
- 数组之间可以使用==或!=进行比较,但不可以使用<或>
- 可以使用new来创建数组,此方法返回一个指向数组的指针
- Go支持多维数组
package main
import (
"fmt"
)
func main() {
var a [2]int
b := [2]int{2, 3}
fmt.Println(b)
//数组间赋值,必须数组长度得相等
b = a
fmt.Println(b)
}
package main
import (
"fmt"
)
func main() {
var a [2]int
b := [3]int{2, 3, 4}
fmt.Println(b)
b = a
fmt.Println(b)
}
package main
import (
"fmt"
)
func main() {
//非初始化参数数值为0
b := [10]int{2}
fmt.Println(b)
//index:value 来初始化特定索引的值
a := [10]int{8: 3}
fmt.Println(a)
//未指派数组长度时,初始化的最大索引默认为数组最大索引
c := [...]int{9: 1}
fmt.Println(c)
}
package main
import (
"fmt"
)
func main() {
c := [...]int{9: 1}
var p *[10]int = &c //指向数组的指针
fmt.Println(p)
x,y := 1, 3
a := [...]*int{&x,&y} //指针数组
fmt.Println(a)
}
package main
import (
"fmt"
)
func main() {
a := [2]int{1, 1}
b := [2]int{1, 1}
fmt.Println(a == b) //true
c := [2]int{1, 2}
fmt.Println(a == c) //false
// d := [3]int{1,2,3}
// fmt.Println(a == d)
//数组的类型和长度不一样,无法进行比较
}
package main
import (
"fmt"
)
func main() {
a := [10]int{}
a[1] = 2
fmt.Println(a)
//指向数组的指针,同样可以使用下标进行赋值
p := new([10]int)
p[1] = 2
fmt.Println(p)
}
package main
import (
"fmt"
)
func main() {
a := [2][3]int{
{1, 1, 1},{2, 2, 2}}
fmt.Println(a)
}
冒泡排序
package main
import (
"fmt"
)
func main() {
a := [...]int{3, 4, 5, 7, 12, 6, 9, 32, 0}
fmt.Println(a)
num := len(a)
for i := 0; i < num; i++ {
for k := i + 1; k < num; k++ {
if a[i] > a[k] {
temp := a[i]
a[i] = a[k]
a[k] = temp
}
}
}
fmt.Println(a)
}
原文地址:https://www.jb51.cc/go/187118.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。