GoLangで文字列を比較するにはどうすればいいですか? 質問する

GoLangで文字列を比較するにはどうすればいいですか? 質問する

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)

}

例

ベストアンサー1

==は、Go で文字列を比較するための正しい演算子です。ただし、を使用して STDIN から読み取った文字列にはreader.ReadStringが含まれません"a"("a\n"よく見ると、出力例に余分な改行があることがわかります)。

あなたはstrings.TrimRight入力から末尾の空白を削除する関数:

if strings.TrimRight(input, "\n") == "a" {
    // ...
}

おすすめ記事