Sobes.tech
Junior — Middle

Կարո՞ղ է Go լեզվում տարբեր տվյալների տեսակների միջև տիպի փոխարկում կատարել:

sobes.tech AI

Պատասխան AI-ից

Go լեզվում տիպերի փոխարկումները հնարավոր են, բայց դրանք խիստ և անվտանգ են: Փոխարկումը հնարավոր է համատեղելի տիպերի միջև, օրինակ՝ թվային տիպերի (int, float64 և այլն) կամ նույն կառուցվածքի տիպերի միջև (օրինակ՝ բազային տիպերի վրա հիմնված անհատական տիպեր): Դասական օրինակ՝ տողը թվի վերածելը առանց բացահայտ փոխարկման հնարավոր չէ:

Թվային տիպերի փոխարկման օրինակ:

var a int = 42
var b float64 = float64(a) // բացահայտ փոխարկում int-ից float64

Նույնպես, ինտերֆեյսները կարելի է փոխարկել կոնկրետ տիպերի՝ type assertion-ի միջոցով:

var i interface{} = "բարև"
str, ok := i.(string)
if ok {
    fmt.Println(str)
}

Այսպիսով, Go-ում տիպերի փոխարկումը պահանջում է բացահայտ նշում և գործում է միայն համատեղելի տիպերի համար։