Sobes.tech
Junior — Middle

Kako odrediti tačan tip objekta koji implementira interfejs?

sobes.tech АИ

Одговор од АИ

У језику Go, за одређивање конкретног типа објекта који имплементира интерфејс, користи се изјава о типу (type assertion) или прекидач типа (type switch).

Пример са изјавом о типу:

var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
    // v има тип ConcreteType
    fmt.Println("Ово је ConcreteType", v)
} else {
    fmt.Println("Другај тип")
}

Пример са прекидачем типа:

switch v := i.(type) {
case ConcreteType:
    fmt.Println("Ово је ConcreteType", v)
case AnotherType:
    fmt.Println("Ово је AnotherType", v)
default:
    fmt.Println("Непознат тип")
}