在Go 1.5.2中,输入任何数值并进行排序。

huangapple go评论85阅读模式
英文:

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 (
    &quot;fmt&quot;
    &quot;sort&quot;
)

Confirm any numerical value here.

func go_input(){
    var N,i,j int
    var A =[]int{100}

    fmt.Scanf(&quot;%d&quot;,&amp;N)

    for i:= 0;  i &lt; N; i++ {
        fmt.Scanf(&quot;%d&quot;,&amp;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

huangapple
  • 本文由 发表于 2016年4月8日 13:14:51
  • 转载请务必保留本文链接:https://go.coder-hub.com/36492035.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定