英文:
input of any numerical value and sort in go1.5.2
问题
package main
import (
"fmt"
"sort"
)
确认这里的任何数值。
func go_input(){
var N,i,j int
var A =[]int{100}
fmt.Scanf("%d",&N)
for i:= 0; i < N; i++ {
fmt.Scanf("%d",&A[i])
}
}
在这里对数值进行排序,但是会出现错误。
func i_Sort(){
sort.Sort(go_input())
fmt.Println(go_input())
}
在这里执行它。
func main(){
i_Sort()
}
go 1.5.2
请注意,我只是将代码部分翻译成了中文,其他部分保持原样。如果你有其他问题,可以继续提问。
英文:
package main
import (
"fmt"
"sort"
)
Confirm any numerical value here.
func go_input(){
var N,i,j int
var A =[]int{100}
fmt.Scanf("%d",&N)
for i:= 0; i < N; i++ {
fmt.Scanf("%d",&A[i])
}
}
Sort a value here.but,An error is given.
func i_Sort(){
sort.Sort(go_input())
fmt.Println(go_input())
}
Execute it here.
func main(){
i_Sort()
}
go 1.5.2
答案1
得分: 2
go_input()
不返回任何值,所以你不能在fmt.Println
中使用它。
更重要的是,每次调用go_input()
时,你都在创建一个全新的数组,也许你想要返回一个值然后重复使用它?
sort.Ints()
是你想要用来对切片进行排序的函数。
通过一些小的改动,你需要像这样的代码:
http://play.golang.org/p/MhOlRNCIwI
英文:
go_input()
doesn't return a value, so you can't use it in fmt.Println
More importantly, you are creating a brand new array every time you call go_input()
, maybe you want to return a value and then reuse that?
sort.Ints()
is the function you want for sorting a slice anyways
With some small changes, you need something like this:
http://play.golang.org/p/MhOlRNCIwI
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论