Sobes.tech
Junior — Middle

Кои категории данни позволяват сравняването на техните стойности помежду си?

sobes.tech AI

Отговор от AI

В Go (Golang) стойностите могат да се сравняват помежду си, ако техните типове поддържат операцията за сравнение. Категориите данни, които поддържат сравнение, включват:

  • Булеви стойности (bool) — могат да се сравняват за равенство и неравенство.
  • Числови типове (int, float64, uint и др.) — поддържат всички стандартни операции за сравнение (==, !=, <, >, <=, >=).
  • Стрингове (string) — сравняват се лексикографски.
  • Указатели — сравняват се за равенство и неравенство.
  • Интерфейси — сравняват се, ако вътрешните им стойности са сравними.
  • Структури и масиви — сравними са, ако всички техни полета или елементи са сравними.

Типовете, които не могат да бъдат сравнявани директно, като срезове (slice), карти (map), функции, изискват специални подходи за сравнение.

Пример за сравнение на низове и числа:

package main
import "fmt"

func main() {
    a := 5
    b := 10
    fmt.Println(a < b) // true

    s1 := "ябълка"
    s2 := "банан"
    fmt.Println(s1 < s2) // true (лексикографски ред)
}