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,uinta 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
}