1 数组
- 定义数组的格式:var [n],n>=0
- 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型
- 注意区分指向数组的指针和指针数组
- 数组在Go中为值类型(传递到方法时,将数组进行拷贝)
- 数组之间可以使用==或!=进行比较,但不可以使用<或>
- 可以使用new来创建数组,此方法返回一个指向数组的指针
- Go支持多维数组
func main() {
a:=[2]int{1}
fmt.Println(a)
}
func main() {
a := [20]int{19: 1}
fmt.Println(a)
}
func main() {
a := [...]int{1,2,3}
fmt.Println(a)
}
func main() {
a := [...]int{99: 1}
var p *[100]int = &a
fmt.Println(p)
}
func main() {
x, y := 1, 2
//指针数组
a := [...]*int{&x, &y}
fmt.Println(a)
}
func main() {
p := new([10] int)
fmt.Println(p)
}
func main() {
a := [10]int{}
a[1] = 2
fmt.Println(a)
p := new([10]int)
p[1] = 2
fmt.Println(p)
}
func main() {
a:=[2][3]int{
{1,1,1},
{2,2,2}}
fmt.Println(a)
}
2 冒泡排序
func main() {
a := [...]int{5, 6, 7, 1, 3,8,}
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)
}