在进行 Go 字符串比较时,我无法产生“真实”结果。我写了以下内容来解释这个问题并附上了输出的屏幕截图
// string comparison in Go
package main
import "fmt"
import "bufio"
import "os"
func main() {
var isLetterA bool
fmt.Println("Enter the letter a")
reader := bufio.NewReader(os.Stdin)
input, _ := reader.ReadString('\n')
if(input == "a") {
isLetterA = true
} else {
isLetterA = false
}
fmt.Println("You entered",input)
fmt.Println("Is it the letter a?",isLetterA)
}
原文由 user2202911 发布,翻译遵循 CC BY-SA 4.0 许可协议
==
是在 Go 中比较字符串的正确运算符。但是,您使用reader.ReadString
从 STDIN 读取的字符串不包含"a"
,但"a\n"
在您的示例输出中)。您可以使用
strings.TrimRight
函数从输入中删除尾随空格: