Golang在ACM模式下的刷题指南,只用一个函数处理所有情景下的输入问题,一招鲜吃遍天!
创始人
2025-05-31 07:22:25

受之前用C和C++刷题的影响,所有输入我都喜欢用scanf处理,恰恰golang也有scanf函数,所以说golang也可以像C和C++一样完美处理所有情景下的输入,可谓是一招鲜吃遍天!

1. fmt.Scanf

首先来介绍一下fmt包的Scanf函数。

这个函数的第一个参数是一个指定读入数据格式的字符串,用“%+一个小写字母”来指定读入的数据格式以及给数据占位,最常用的是用%d表示读入int类型数据,用%s读入字符串,用%c读入一个字符。从第二个参数开始就是读入数据后保存的变量,务必要用引用的方式,比如&num,变量数要与第一个参数字符串中的占位符%的数目保持一致。

Scanf函数的返回值有两个,第一个是读入的数据数目,一般在刷题时不会用到它,第二个返回值是err,这个err非常有用,可以帮助我们判断是否读完所有的输入。

一个Scanf函数的示例:

n,err:=fmt.Scanf("%d%d",&a,&b)

示例中,n就是读到的数据数目,为2,err就是返回的错误,“%d%d”表示读入两个int类型数据,按顺序保存到a、b变量中,注意a、b变量是引用的格式。

 上图是C和C++中scanf格式符对应的数据类型,务必要注意,在Go语言中字符串也是要用引用的

相关内容

热门资讯

中欧匠心两年持有期混合C净值下... 中欧匠心两年持有期混合型证券投资基金(简称:中欧匠心两年持有期混合C,代码006530)公布12月1...
湖北安陆市力推“楚商回乡”见实... (来源:中华工商时报)转自:中华工商时报■黎清平胡臣    湖北省安陆市以乡情乡谊为纽带,以机制创新...
人保行业轮动混合A净值下跌1.... 人保行业轮动混合型证券投资基金(简称:人保行业轮动混合A,代码006573)公布12月16日最新净值...
嘉实互融精选股票A净值下跌1.... 嘉实互融精选股票型证券投资基金(简称:嘉实互融精选股票A,代码006603)公布12月16日最新净值...
深圳工伤赔偿标准最新或2023...  深圳哪些情况属于工伤?  事故伤害  1  在工作时间和工作场所内,因工作原因受到事故伤害的。  ...