Young87

当前位置:首页 >个人收藏

分享一个Go按行读取命令行输入的例子

很多人在使用Go读取命令行输入的时候,对按行读取输入很困惑,因为fmt包里面的Scan,Scanf或者是Scanln方法好像都是无效的。如果输入有多个单词,并且中间用空格隔开的话就无法按照我们的想法,一行读取。这里分享一个按行读取输入的实现。 package main

import ( "bufio" "fmt" "os" "strings" )

func main() { for { fmt.Print(">") cmdReader := bufio.NewReader(os.Stdin) if cmdStr, err := cmdReader.ReadString('\n'); err == nil { //这里把读取的数据后面的换行去掉,对于Mac是"\r",Linux下面 //是"\n",Windows下面是"\r\n",所以为了支持多平台,直接用 //"\r\n"作为过滤字符 cmdStr = strings.Trim(cmdStr, "\r\n") fmt.Println(cmdStr) } } }

转载于:https://my.oschina.net/wuciyou/blog/289841

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: python 中 print 函数用法总结

下一篇: 基于Haar特征的Adaboost级联人脸检测分类器

精华推荐