dongxieyi9115 2012-12-22 04:33
浏览 264
已采纳

如何在Go中使用fmt.Scanf

I seem to be having a queer problem while getting user input within a for loop in go. Here is my code

package main

import "fmt"

func main() {
    var num int
    for i := 0; i < 10; i++ {
        fmt.Printf("Debug: i : %d ", i)
        fmt.Scanf("%d", &num)
        fmt.Println(num)
    }
}

What happens when I run this code is this :

Debug: i : 0
Enter next number
1
1
Debug: i : 1
Enter next number
1
Debug: i : 2
Enter next number
2
2
Debug: i : 3
Enter next number
2
Debug: i : 4
Enter next number
3
3
Debug: i : 5
Enter next number
3
Debug: i : 6
Enter next number
4
4
Debug: i : 7
Enter next number
4
Debug: i : 8
Enter next number
5
5
Debug: i : 9
Enter next number
5

What I notice is that each iteration of the loop happens twice, Could this be because Go is using parallelism by default and causing both processors to run the code within a for loop?

  • 写回答

3条回答 默认 最新

  • dongzhang4301 2012-12-22 07:35
    关注

    What OS are you using? Windows?

    Try this:

    package main
    
    import "fmt"
    
    func main() {
        var num int
        for i := 0; i < 10; i++ {
            fmt.Printf("Debug: i : %d
    ", i)
            fmt.Println("Enter next number")
            n, err := fmt.Scanf("%d
    ", &num)
            if err != nil {
                fmt.Println(n, err)
            }
            fmt.Println(num)
        }
    }
    

    Output:

    Debug: i : 0
    Enter next number
    1
    1
    Debug: i : 1
    Enter next number
    2
    2
    Debug: i : 2
    Enter next number
    3
    3
    Debug: i : 3
    Enter next number
    4
    4
    Debug: i : 4
    Enter next number
    5
    5
    Debug: i : 5
    Enter next number
    6
    6
    Debug: i : 6
    Enter next number
    7
    7
    Debug: i : 7
    Enter next number
    8
    8
    Debug: i : 8
    Enter next number
    9
    9
    Debug: i : 9
    Enter next number
    10
    10
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题