关于类型转化,下面选项正确的是?

A.
type MyInt int
var i int = 1
var j MyInt = i

B.
type MyInt int
var i int = 1
var j MyInt = (MyInt)i

C.
type MyInt int
var i int = 1
var j MyInt = MyInt(i)

D.
type MyInt int
var i int = 1
var j MyInt = i.(MyInt)

C

type MyInt int // 定义一个类型别名
var i int = 1  // 声明并赋值变量i 值为 1
// A
var j MyInt = i // 错误,因为变量i的类型为int,而变量j的类型为MyInt,它们不是同一种类型,不能直接赋值。
// B
var j MyInt = (MyInt)i // 错误,C/C++ 风格的强制转换语法,在 Go 中无效
// C
var j MyInt = MyInt(i) // 正确,Go 的类型转换语法,将变量i转换为MyInt类型
// D
var j MyInt = i.(MyInt) // 错误, 这是Go 类型断言语法,断言使用在空接口或any上。