Junior — Middle
Izskaidrojiet type switch konstrukcijas darbības principu Go valodā un kā tā atšķiras no parasta switch-case.
sobes.tech AI
Atbilde no AI
Go valodā konstrukcija type switch tiek izmantota, lai noteiktu konkrētu interfeisa vērtības tipu izpildes laikā. Tā ļauj veikt dažādas darbības atkarībā no tā, pie kura tipa pieder mainīgais, kas realizē interfeisu.
Sintakses piemērs:
switch v := x.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("cits tips")
}
Šeit, x ir interfeisa tipa mainīgais, un v ir mainīgais ar konkrētu tipu katrā gadījumā.
Atšķirība no parastā switch-case:
- Parastais switch salīdzina izteiksmes vērtību ar konstantiem vai izteiksmēm.
- Type switch salīdzina tipu interfeisa vērtībai, nevis pašu vērtību.
Type switch ir noderīgs darbā ar interfeisiem, kad nepieciešams veikt dažādas darbības atkarībā no objekta reālā tipa, kas ir saglabāts interfeisā.