Ptr[T any](v T) *T {
return &v
}
func main() {
c := Ptr(Code("Test"))
i := Ptr(5)
}
это ок, мне и с переменными ок, они как правило в конструкторах, просто думал что что то упустил при изучении го и есть другой способ инициализации алиаса
Если в функции сделать func test() *Code { return &Code("test") } То будет ошибка Cannot take the address of 'Code("test")' Т.е. чтобы передать адрес переменной, надо вначале её создать А сразу создать и вернуть указатель нельзя, надо перед этим присвоить переменной И метод Павла работает, т.к. при использовании функции мы туда передаём значение и оно сразу присваивается переменной, от которой уже и берётся ссылка Я так это понимаю
Обсуждают сегодня