나는 Go
내 발가락을 담그고 오전 Y 또는 N가 입력되었는지 확인하기 위해 몇 가지 코드를 작성했습니다 : 나는 & 유형 y
(키를 누릅니다 입력)이 코드를 실행하면내 lang 문자열 비교가 예상대로 작동하지 않는 이유는 무엇입니까?
reader := bufio.NewReader(os.Stdin)
fmt.Print("(y/n): ")
text, _ := reader.ReadString('\n')
text = strings.ToLower(text)
if strings.Compare(text, "y") == 0 {
fmt.Println("True")
} else {
fmt.Println("Else")
}
내가에 기대 True
을 참조하십시오. 그러나 나는 Else
을 얻었습니다 - 아무도 볼 수 있습니까? 주석 위, ReadString()
문자열의 한 부분으로 구분 기호를 반환 말했듯이
reader := bufio.NewReader(os.Stdin)
fmt.Print("(y/n): ")
text, _ := reader.ReadString('\n')
text = strings.ToLower(text[0:len(text)-1])
if strings.Compare(text, "y") == 0 {
fmt.Println("True")
} else {
fmt.Println("Else")
}
:
[ "ReadString은 입력에서 delim이 처음 나타날 때까지 읽습니다. 단락 기호까지 데이터가 포함 된 문자열을 반환합니다"] (https://godoc.org/bufio#Reader.ReadString) –