2 回答
TA贡献1851条经验 获得超5个赞
希望这是您想要打印的方式!(迭代切片,只打印非零值),试试这个!
package main
import (
"fmt"
"sort"
"strconv"
)
func main() {
mySlice := make([]int, 3)
var input string
for i := 0; i < len(mySlice); i++ {
fmt.Println("Please enter a number")
fmt.Scanln(&input)
if input == "X" {
break
}
mySlice_var, err := strconv.Atoi(input)
if err != nil {
fmt.Println("Wrong input")
continue
}
// mySlice[i] = mySlice_var
mySlice = append(mySlice, mySlice_var)
// mySlice[i] = mySlice_var
sort.Ints(mySlice)
// fmt.Println(mySlice)
//Iterating Over Slice , and printed only non zero values
for _,v := range mySlice{
if v != 0 {
fmt.Printf("%v",v)
}
}
fmt.Println("")
}
}
TA贡献1811条经验 获得超4个赞
mySlice := make([]int, 3)
它很好地初始化一个切片,它的大小是3,然后附加3个零来初始化它
像这样打印:
fmt.Println(mySlice)
fmt.Println("len: ", len(mySlice))
fmt.Println("cap: ", cap(mySlice))
[0 0 0]
len: 3
cap: 3
你只能初始化 init cap
mySlice := make([]int, 0, 3)
fmt.Println(mySlice)
fmt.Println("len: ", len(mySlice))
fmt.Println("cap: ", cap(mySlice))
[]
len: 0
cap: 3
- 2 回答
- 0 关注
- 149 浏览
添加回答
举报