在go语言中fmt.Scanf 加不加换行符是一个非常严肃的问题
package main
import "fmt"
func main() {
var a int
var b int
print("输入a:") //1
fmt.Scanf("%d", &a)
fmt.Print(a)
fmt.Println()
fmt.Print("b")
fmt.Scanf("%d\n", &b)//2
fmt.Print(b)
}
// a=1 b=0
在第一个输入之后按了回车之后,a就获得了值 1 b就获得了 回车符 由于b 是int 类型 所以其默认值为0
package main
import "fmt"
func main() {
var a int
var b int
print("输入a:") //1
fmt.Scanf("%d\n", &a)
fmt.Print(a)
fmt.Println()
fmt.Print("b")
fmt.Scanf("%d\n", &b)//2
fmt.Print(b)
}
// a=1 b=2