- 求数组[1, 3, 5, 7, 8]所有元素的和
附代码如下:
package main
import "fmt"
func main() {
a := [...]int{1, 3, 5, 7, 8}
sum := 0
for _, v := range a {
sum += v
}
fmt.Println(sum)
}
- 找出数组中和为指定值的两个元素的下标,比如从数组[1, 3, 5, 7, 8]中找出和为8的两个元素的下标分别为(0,3)和(1,2)。
附代码如下:
package main
import "fmt"
func getTwo(n int, arr ...int) {
for i := range arr{
for j:=i+1; j<len(arr); j++ {
if arr[i]+arr[j]==n {
fmt.Printf("(%d, %d)", i,j)
}
}
}
}
func main() {
list := []int{1, 3, 5, 7, 8}
a := 8
getTwo(a, list...) // 用切片来实现不定长数组的传参
}
运行截图:
注:切片是下一节要讲的内容,我暂且将其理解为不定长的数组,是一个接口。
跟着李文周老师的博客学有两三天了,投入的时间不多,但是比看视频学得快。我觉得这样学要想记忆深刻就得把这些课后习题给作一下。
这些题虽然简单,但对初学者的学习成果是个不错的检验,我把这些习题记录下来也是希望知识能学得更扎实些,更希望能够给其他的初学者一些idea。
题目出处:李文周Go基础之数组基础