Приведение типа
Выражение T(v) приводит значение v к типу T.
Примеры для числовых типов:
var i int = 42
var f float64 = float64(i)
var u uint = uint(f)
Или проще:
i := 42
f := float64(i)
u := uint(f)
В отличие от C, в Go присвоения между элементами различных типов требуют явного приведения типов.
package main
import (
"fmt"
"math"
)
func main() {
var x, y int = 3, 4
var f float64 = math.Sqrt(float64(x*x + y*y))
var z uint = uint(f)
fmt.Println(x, y, z)
}
Выведение типа
При объявлении переменной без явного указания типа (с помощью := или var =), тип переменной выводится из значения на правой стороне.
Когда правая часть объявления типизирована, новая переменная получает такой же тип:
var i int
j := i // j это int
Но когда правая часть содержит нетипизированную числовую константу, новая переменная может быть int, float64, или complex128 в зависимости от точности константы:
i := 42 // int
f := 3.142 // float64
g := 0.867 + 0.5i // complex128
Пример:
package main
import "fmt"
func main() {
v := 42
fmt.Printf("v is of type %T\n", v)
}
Читайте также:
Комментариев нет:
Отправить комментарий