首页 >后端开发 >Golang >golang如何处理输入?

golang如何处理输入?

coldplay.xixi
coldplay.xixi原创
2020-07-18 14:53:434683浏览

golang处理输入的方法:1、【fmt.Scan】交互式接受输入,通过空格来分词;2、【fmt.Scanln】要指定接收输入的变量名和变量数;3、【 fmt.Scanf】需要指定输入的格式,直接把不需要的部分过滤掉。

golang如何处理输入?

golang处理输入的方法:

1. fmt.Scan

fmt.Scan交互式接受输入,通过空格来分词。调用Scan函数时,要指定接收输入的变量名和变量数。

直到接收完所有指定的变量数,Scan函数才会返回,回车符也无法提前让它返回。

fmt.Println("Please enter the firstName and secondName: ")
fmt.Scan(&afirstName, &asecondName)
fmt.Printf("firstName is %s, secondName is %s\n", afirstName, asecondName)

结果如下:

Please enter the firstName and secondName:
zz
rr
firstName is zz, secondName is rr

2. fmt.Scanln

Scanln调用时,也要指定接收输入的变量名和变量数。

它同Scan的区别,在于 \ n 会让函数提前返回,将返回时还未接收到值的变量赋为空。

fmt.Println("Please enter the firstName and secondName: ")
fmt.Scanln(&bfirstName, &bsecondName)
fmt.Printf("firstName is %s, secondName is %s\n", bfirstName, bsecondName)

结果如下:

Please enter the firstName and secondName:
zr
firstName is zr, secondName is

3. fmt.Scanf

Scanf处理输入,是比较灵活的一种处理方式。

需要指定输入的格式,适用于完全了解输入格式的场景,可以直接把不需要的部分过滤掉。

fmt.Println("Please enter the firstName and secondName: ")
fmt.Scanf("//%s\n%s", &cfirstName, &csecondName)
fmt.Printf("firstName is %s, secondName is %s", cfirstName, csecondName)

结果如下:

1)这个场景,在接收输入时,就把不需要的部分“//” 和 “\n”过滤掉了,接收到是有用的两个字符串zz和rr。

Please enter the firstName and secondName:
//zz
rr
firstName is zz, secondName is rr

2)如果输入不符合指定的格式,从不符合处开始,其后的变量值都为空。

Please enter the firstName and secondName:
//zr ui
firstName is zr, secondName is

相关学习推荐:Go语言教程

以上是golang如何处理输入?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn