我是 GoLang 的新手,正在尝试编写这个程序 -
程序应该写成一个循环。在进入循环之前,程序应该创建一个大小(长度)为 3 的空整数切片。在每次通过循环期间,程序都会提示用户输入要添加到切片中的整数。程序将整数添加到切片中,对切片进行排序,并按排序顺序打印切片的内容。切片的大小必须增加以容纳用户决定输入的任意数量的整数。当用户输入字符“X”而不是整数时,程序应该只退出(退出循环)。
所以我的代码是 -
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)
}
}
例如,如果我先输入 4,然后输入 5,然后输入 1,它将打印我
Please enter a number
4
[0 0 0 4]
Please enter a number
5
[0 0 0 4 5]
Please enter a number
1
[0 0 0 1 4 5]
看起来它可以打印并排序,但是我如何摆脱前三个“0”?谢谢!
江户川乱折腾
波斯汪
相关分类