Может ли кто-нибудь сказать мне, почему это не будет компилироваться?
package main
type myint int
func set(a **myint) {
i := myint(5)
*a = &i
}
func main() {
var k *int
set( (**myint)(&k) ) // cannot convert &k (type **int) to type **myint
print( *k )
}
Мое рассуждение до сих пор таково. Все типы в Голанге разные, но он позволяет конвертировать из одного типа в другой с синтаксисом C-like cast, если базовые типы идентичны. В моем примере преобразование 'int' в 'myint' не является проблемой. '* int' to '* myint' тоже не является. Это когда у вас есть указатель на проблемы с указателем. Я застрял на этом уже второй день. Любая помощь приветствуется.