Sobes.tech
Junior — Middle

Kā var pārbaudīt, vai struktūra atbilst dotajam interfeisam?

sobes.tech AI

Atbilde no AI

Go valodā struktūras atbilstības pārbaude ar interfeisu notiek netieši — ja struktūra īsteno visas interfeisa metodes, tā tam atbilst.

Lai skaidri pārbaudītu kompilācijas laikā, bieži izmanto kompilācijas pārbaudi ar piešķiršanu:

type MyInterface interface {
    DoSomething()
}

type MyStruct struct {}

func (m MyStruct) DoSomething() {}

// Kompilācijas pārbaude
var _ MyInterface = (*MyStruct)(nil)

Ja MyStruct neīsteno MyInterface, kompilators izmetīs kļūdu. Šis ir ērts veids, kā nodrošināt, ka struktūra atbilst interfeisam, neizpildot programmu.