среда, 2 января 2019 г.

Основы Go: приведение типа, выведение типа

Приведение типа

Выражение 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)
}


Читайте также:


Комментариев нет:

Отправить комментарий