Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。

去年关闭。



Improve this question




我向用户询问一个整数输入就很好,但是对于两个整数输入却失败了,因为“在:=(undefined)的左侧没有新变量”

而且我看不到任何解决方法。

我试图创建两个变量-s(int类型)。用一个就可以很好地工作,但是再加上一个就可以了。
var loop_count int
         fmt.Println("Insert start ID : ")

         _, err1 := fmt.Scanf("%d", &loop_count)

         if err1 != nil {
            fmt.Println(err)
         }

    arr := make([]uint8, loop_count) //How many times it loops

    var url_id int
         fmt.Println("Insert start ID : ") //From where it starts

         _, err := fmt.Scanf("%d", &url_id)

         if err != nil {
            fmt.Println(err)
         }

         fmt.Println("Starting download from : ", url_id)

所以我想从控制台问两件事:
  • 循环计数(应该循环多少次)
  • 应该从哪个ID开始下载。
  • 最佳答案

    之所以会出现此错误,是因为您已经声明了“err”,当您使用“:=”运算符时,您试图重新声明(使用相同的名称创建变量)此变量。您应该使用“=”来更改值。代码打击效果很好,但是您最好添加验证:

    var loop_count int
    fmt.Print("Insert loop_count ID: ")
    
    _, err := fmt.Scanf("%d", &loop_count)
    
    if err != nil {
        fmt.Println(err)
    }
    
    var url_id int
    fmt.Print("\nInsert url_id ID: ") //From where it starts
    
    _, err = fmt.Scanf("%d", &url_id)
    
    if err != nil {
        fmt.Println(err)
    }
    
    fmt.Println("\nStarting download from: ", url_id)
    

    关于variables - 从命令行询问两个整数-GOlang ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55762303/

    10-10 22:51