Sobes.tech
Junior — Middle

Aké vstavané dátové typy v Go umožňujú vykonávať operácie porovnávania?

sobes.tech AI

Odpoveď od AI

V jazyku Go sú operácie porovnania podporované pre nasledujúce vstavané dátové typy:

  • Boolean hodnoty (bool): môžu byť porovnávané na rovnosť a nerovnosť.
  • Číselné typy (int, float32, float64, uint a pod.): podporujú všetky štandardné operácie porovnania (==, !=, <, >, <=, >=).
  • Reťazce (string): sú porovnávané lexikograficky pomocou operátorov ==, !=, <, >, <=, >=.
  • Ukazovatele: sú porovnávané na rovnosť a nerovnosť (či ukazujú na ten istý objekt alebo nil).
  • Rozhrania (interface): sú porovnávané na rovnosť a nerovnosť, ak sú dynamické typy a hodnoty porovnateľné.
  • Polia (array): sú porovnávané po prvkoch, ak sú prvky porovnateľné.

Typy, ktoré nie je možné priamo porovnávať, ako napríklad rezy (slice), mapy (map), funkcie (func), nepodporujú operácie porovnania, okrem kontroly na nil.

Príklad porovnania reťazcov a čísel:

package main
import "fmt"

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

    s1 := "jablko"
    s2 := "banán"
    fmt.Println(s1 == s2) // false
}