我为什么用:
var n int
a, _ := fmt.Scanf("%d",&n)
Run Code Online (Sandbox Code Playgroud)
然后a == 1,n通过输入改变了它的值.
fmt.Scanf() 返回成功扫描的项目数:
Scanf扫描从标准输入读取的文本,将连续的空格分隔值存储到由格式确定的连续参数中.它返回成功扫描的项目数.如果这小于参数的数量,则错误将报告原因.
因此,如果您的输入是适合的有效整数int,fmt.Scanf()将成功解析并存储它n,因此它将返回1.
如果您输入的数字无效(例如string值"a"),扫描将不会成功,因此0将返回非nil错误,如下例所示:
var n int
a, err := fmt.Sscanf("a", "%d", &n)
fmt.Println(a, err)
Run Code Online (Sandbox Code Playgroud)
哪些输出(在Go Playground上试试):
0 expected integer
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |