Golang是支持了数组这种数据结构的,具体可以参考C语言里的数组
比如我们想要申请一个新的数组
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:03:32
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
var strs [20]string // 声明一个20个长度的字符串数组
fmt.Println(strs)
}
当然也可以这样
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:03:32
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
strs := [20]string{}
fmt.Println(strs)
}
当你不知道这个数组需要声明多大的时候,可以这样写,Go会自动判断数组的大小
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:07:15
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
strs := [...]string{"Hello", "world", "my", "dear"}
fmt.Println(strs, len(strs)) // [Hello world my dear] 4
}
当然,你也可以这样写
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:08:11
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
strs := [...]string{"Hello", "world", "my", 7: "dear"}
fmt.Println(strs, len(strs)) // [Hello world my dear] 8
}
上述的写法代表下标为7的位置是”dear“
通过下标访问数组的方式也和C语言相似
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:11:22
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
strs := [...]string{"Hello", "world", "my", "dear"}
fmt.Println(strs[1])
}
如果说他跟C语言很相似,那我倒是觉得遍历他的时候和Python有点串味
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:13:11
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
strs := [...]string{"Hello", "world", "my", "dear"}
for i := 0; i < len(strs); i++ {
fmt.Println(strs[i])
}
}
或许你也可以用range来遍历
/*
* @Author: NorthCityChen
* @LastEditTime: 2021-08-21 17:16:38
* @Description:
* @Website: https://grimoire.cn
* Copyright (c) NorthCityChen All rights reserved.
*/
package main
import (
"fmt"
)
func main() {
strs := [...]string{"Hello", "world", "my", "dear"}
for idx, item := range strs {
fmt.Println(item, idx)
} // 第一个是索引,第二个是内容
}
作者:NorthCity1984
出处:https://grimoire.cn/golang/go3.html
版权:本文《Go 学习笔记:数组》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
出处:https://grimoire.cn/golang/go3.html
版权:本文《Go 学习笔记:数组》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任