一分耕耘,一分收获!既然都打开这篇《golang 打印不需要的值》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文
一分耕耘,一分收获!既然都打开这篇《golang 打印不需要的值》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!
问题内容我是 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”? 谢谢!
希望这是您想要的打印方式! (迭代切片,并仅打印非零值),试试这个!
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("")
}
}
以上就是《Golang 打印不需要的值》的详细内容,更多关于的资料请关注编程网公众号!
--结束END--
本文标题: Golang 打印不需要的值
本文链接: https://lsjlt.com/news/596649.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0