Присвоение именованного типа значению литерального типа - PullRequest
1 голос
/ 31 мая 2019

Иди сюда новичок.Я пытаюсь присвоить значение uint64 переменной именованного типа с базовым типом unit64.Компилятор недоволен и не может видеть, что два типа абсолютно одинаковы.Какой правильный способ сделать это?

package main

import "fmt"
import "math/rand"

type myType uint64

var x myType


func main() {
    x = rand.Uint64()
    fmt.Println(x)
}

Это выдает ошибку компилятора:

./prog.go:12:4: cannot use rand.Uint64() (type uint64) as type myType in assignment

1 Ответ

3 голосов
/ 31 мая 2019

Вы можете конвертировать его myType(rand.Uint64()). Полезные ссылки: Утверждение типа в Go и Преобразование типов в Go , а также превосходный ответ в этом вопросе о переполнении стека "Как привести к псевдониму типа в go"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...