受之前用C和C++刷题的影响,所有输入我都喜欢用scanf处理,恰恰golang也有scanf函数,所以说golang也可以像C和C++一样完美处理所有情景下的输入,可谓是一招鲜吃遍天!
首先来介绍一下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语言中字符串也是要用引用的
上一篇:最新或2023(历届)北京小升初师达老师答家长20问 北京小升初面试必问十大问题 北京小升初2023政策应咨询哪里
下一篇:最新或2023(历届)北京小升初非京籍借读生相关政策 2017年借读生在北京小升初的政策 北京小升初京籍学生可以借读吗