String 如何检查用户是否在Go中输入了空值?
如何检查用户是否输入了空值,以及将代码放在何处?注意-我已经试过检查长度String 如何检查用户是否在Go中输入了空值?,string,go,file-io,null,String,Go,File Io,Null,如何检查用户是否输入了空值,以及将代码放在何处?注意-我已经试过检查长度=0和='',但它们似乎不起作用 请建议一种替代方法。谢谢 返回一个字符串,该字符串也包含delimeter,在本例中为换行符\n 如果用户没有输入任何内容,只需按enter键,ReadString()的返回值将为“\n”,因此您必须将结果与“\n”进行比较,以检查是否存在空输入: reader := bufio.NewReader(os.Stdin) fmt.Print("Enter text: ") text, _ :=
=0
和=''
,但它们似乎不起作用
请建议一种替代方法。谢谢 返回一个字符串,该字符串也包含delimeter,在本例中为换行符\n
如果用户没有输入任何内容,只需按enter键,ReadString()
的返回值将为“\n”
,因此您必须将结果与“\n”
进行比较,以检查是否存在空输入:
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println("Hello",text)
一个更好的替代方法是使用删除前导和尾随的空格字符(包括换行符;如果有人输入2个空格并按Enter键,则该名称没有意义,此解决方案也会将其过滤掉)。如果调用了strings.TrimSpace()
previor,则可以将其与空字符串进行比较:
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, err := reader.ReadString('\n')
if err != nil {
panic(err) // Don't forget to check and handle returned errors!
}
if text == "\n" {
fmt.Println("No input!")
} else {
fmt.Println("Hello", text)
}
返回一个字符串,该字符串也包含delimeter,在本例中为换行符\n
如果用户没有输入任何内容,只需按enter键,ReadString()
的返回值将为“\n”
,因此您必须将结果与“\n”
进行比较,以检查是否存在空输入:
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println("Hello",text)
一个更好的替代方法是使用删除前导和尾随的空格字符(包括换行符;如果有人输入2个空格并按Enter键,则该名称没有意义,此解决方案也会将其过滤掉)。如果调用了strings.TrimSpace()
previor,则可以将其与空字符串进行比较:
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, err := reader.ReadString('\n')
if err != nil {
panic(err) // Don't forget to check and handle returned errors!
}
if text == "\n" {
fmt.Println("No input!")
} else {
fmt.Println("Hello", text)
}
我认为“输入空值”没有意义。Null表示没有输入。在流输入中,最接近的是0长度的字符串,但正如您所知,“
与Go(或几乎任何语言)中的nil
不同。我认为“输入空值”没有意义。Null表示没有输入。在流输入中,最接近的是0长度的字符串,但正如您所知,“
与Go(或几乎任何语言)中的nil
不同。