Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich die Fehlermeldung „Mehr als ein Zeichen im Runenliteral“, wenn ich in Go nach ungeraden oder geraden Zahlen suche?

Warum erhalte ich die Fehlermeldung „Mehr als ein Zeichen im Runenliteral“, wenn ich in Go nach ungeraden oder geraden Zahlen suche?

Barbara Streisand
Barbara StreisandOriginal
2024-11-14 17:06:02641Durchsuche

Why am I getting the

Mehr als ein Zeichen im Runenliteral in Go

Frage:

Ein neuer Programmierer Beim Versuch festzustellen, ob eine Zahl ungerade oder gerade ist, ist ein Fehler aufgetreten. Sie erhalten die Fehlermeldung „mehr als ein Zeichen im Runenliteral“. Können Sie die Grundursache dieses Problems erklären?

Antwort:

In Go werden einfache Anführungszeichen für Runenliterale verwendet, die einzelne Unicode-Zeichen darstellen. Im bereitgestellten Code verwendet der Programmierer einfache Anführungszeichen für den Formatbezeichner in der Funktion fmt.Printf, die stattdessen in doppelte Anführungszeichen gesetzt werden sollten. Hier ist der korrigierte Code:

package main

import "fmt"

func main() {
    var a int
    fmt.Printf("Enter the number: ")
    fmt.Scanf("%d", &a)

    if a%2 == 0 {
        fmt.Println("%d Is even number", a)
    } else {
        fmt.Println("%d is odd number", a)
    }
}

Erklärung:

In Go ist %d ein Formatbezeichner, der zum Drucken von Ganzzahlen verwendet wird. Wenn es jedoch in einfache Anführungszeichen gesetzt wird, interpretiert Go es als Runenliteral. Da Runen nur ein einzelnes Zeichen darstellen können, ist die Verwendung von %d in einfachen Anführungszeichen falsch.

Um dieses Problem zu beheben, müssen doppelte Anführungszeichen um den Formatbezeichner verwendet werden, um anzuzeigen, dass es sich um ein Zeichenfolgenliteral und nicht um eine Rune handelt wörtlich. Zeichenfolgenliterale können mehrere Zeichen enthalten, einschließlich Formatbezeichnern.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Mehr als ein Zeichen im Runenliteral“, wenn ich in Go nach ungeraden oder geraden Zahlen suche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn