为什么这不起作用,或者如何使用fmt.Scanln获取多个输入?编辑:如果我插入一个以上的单词然后我得到错误“扫描:预期的换行符”,我能做些什么吗?varusernamestringprint("Username:")_,err:=fmt.Scanln(&username)iferr!=nil{fmt.Println("Error:",err)}varpasswordstringprint("Password:")_,err:=fmt.Scanln(&password)iferr!=nil{fmt.Println("Error:",err)}varstatusstringprint("
如何在不回显用户键入的字符的情况下从命令行捕获用户输入。我想用它来捕获密码。喜欢getpass.getpass在Python中。packagemainimport("fmt")funcmain(){varpasswordstringfmt.Scanln(&password)} 最佳答案 标准库中没有这方面的辅助函数。您必须创建自己的,或使用现有的,如gopass(支持windows,unix,bsd)。使用gopass:(示例取自他们的网站)import"fmt"import"github.com/howeyc/gopass"fun
我有一行包含3个数字,我想用fmt.Scanln()从标准输入读取,但这段代码不起作用:X:=make([]int,3)fmt.Scanln(X...)fmt.Printf("%v\n",X)我收到此错误消息:cannotuseX(type[]int)astype[]interface{}infunctionargument我不明白。 最佳答案 惯用的Go应该是:funcread(nint)([]int,error){in:=make([]int,n)fori:=rangein{_,err:=fmt.Scan(&in[i])ifer
我有一行包含3个数字,我想用fmt.Scanln()从标准输入读取,但这段代码不起作用:X:=make([]int,3)fmt.Scanln(X...)fmt.Printf("%v\n",X)我收到此错误消息:cannotuseX(type[]int)astype[]interface{}infunctionargument我不明白。 最佳答案 惯用的Go应该是:funcread(nint)([]int,error){in:=make([]int,n)fori:=rangein{_,err:=fmt.Scan(&in[i])ifer