Junior — Middle
Czy mógłbyś wyjaśnić, co oznacza typ w programowaniu?
sobes.tech AI
Odpowiedź od AI
Stwierdzenie typu (type assertion) w programowaniu, w szczególności w Go, jest sposobem uzyskania wartości konkretnego typu z typu interfejsowego.
W Go, zmienne typu interfejsowego mogą zawierać wartości dowolnego typu, a stwierdzenie typu pozwala na sprawdzenie i wyodrębnienie konkretnego typu z interfejsu.
Przykład:
var i interface{} = "cześć"
s, ok := i.(string) // s będzie "cześć", ok — true
if ok {
fmt.Println(s) // wyświetla: cześć
} else {
fmt.Println("i nie zawiera stringa")
}
Jeśli stwierdzenie typu się nie powiedzie i nie użyje się drugiego parametru ok, nastąpi panic. Dlatego często używa się formy z dwoma wartościami zwrotnymi dla bezpiecznej weryfikacji.