Go语言常见混淆问题01--scan与scanln方法区别

本文通过实例代码对比分析了Go语言中scan和scanln两个方法在处理控制台输入时的不同行为。scan会读取空格分隔的内容,直到遇到非空白字符才停止;而scanln一旦遇到换行符即结束读取,不会考虑后续输入。
摘要由CSDN通过智能技术生成

这个问题上网搜了很久也没得到个所以然,官方文档又说的云里雾里。

于是自己动手做了一个测试。不废话,先贴代码:

------------------------------------------------------------------我是分割线------------------------------------------------------------------------

先来看scan函数的代码

    //scan
	//官方说明:scan用于检索获取空格两端的内容
	var i,j,k int;
	fmt.Scan(&i,&j,&k);
	fmt.Println(i,j,k);

而后直接运行,在控制台中输入:1 空格 2 回车。

此时在控制台中非常明显,程序并没有结束,而是等待第三个输入的内容

然后我们在控制台中继续输入3 回车

这才看到程序结束。

------------------------------------------------------------------我是分割线------------------------------------------------------------------------

再来看scanln函数

    //
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值