Wie kann ich Werte verschiedener Typen in Go vergleichen?

Linda Hamilton
Freigeben: 2024-11-04 01:34:03
Original
740 Leute haben es durchsucht

How Can I Compare Values of Different Types in Go?

Wie heißt die vergleichbare Schnittstelle?

In Go gibt es keine explizite vergleichbare Schnittstelle. Um Werte verschiedener Typen zu vergleichen, können Sie die Less-Funktion verwenden.

So können Sie eine Less-Funktion implementieren:

func Less(a, b interface{}) bool {
    switch a.(type) {
    case int:
        if ai, ok := a.(int); ok {
            if bi, ok := b.(int); ok {
                return ai < bi
            }
        }
    case string:
        if ai, ok := a.(string); ok {
            if bi, ok := b.(string); ok {
                return ai < bi
            }
        }
    // ...
    default:
        panic("Unknown")
    }
    return false
}
Nach dem Login kopieren

Sie können die Less-Funktion verwenden, um Werte in einer Verknüpfung zu vergleichen Neue Elemente sortiert auflisten und einfügen:

func Insert(val interface{}, l *list.List) *list.Element {
    e := l.Front()
    if e == nil {
        return l.PushFront(val)
    }
    for ; e != nil; e = e.Next() {
        if Less(val, e.Value) {
            return l.InsertBefore(val, e)
        }
    }
    return l.PushBack(val)
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Werte verschiedener Typen in Go vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!