Size: a a a

2020 February 18

а

а кто это in Go-go!
чего
источник

p

pragus in Go-go!
Отлично! Спасибо
источник

M

Morgot in Go-go!
Короче как не менять постоянно порт
источник

x

x-foby in Go-go!
Morgot
Короче как не менять постоянно порт
Порт итак самопроизвольно не меняется.
источник

p

pragus in Go-go!
А есть ли принципиальная разница с точки зрения gc между *Type, unsafe.Pointer и uintptr?
источник

а

а кто это in Go-go!
между raw pointer и указателем внутри Go есть наверное
источник

а

а кто это in Go-go!
Go может же их перекладывать
источник

а

а кто это in Go-go!
Мерль🛠
Больше контекста: я столкнулся вот с такой штукой

https://play.golang.org/p/Igp-GBWkAs8
а для чего приравнивать функции к nil?
источник

p

pragus in Go-go!
а кто это
а для чего приравнивать функции к nil?
Думаю, просто guard value, чтобы взорвалось если мы выйдем за границы
источник

ВС

Владимир Столяров in Go-go!
pragus
А есть ли принципиальная разница с точки зрения gc между *Type, unsafe.Pointer и uintptr?
Насколько я понял, uintptr не считается ссылкой на данные, поэтому если его хранить оторванно, то gc может почистить память и вы останетесь с невалидным адресом. Источник предположения - грядущие изменения в go vet и статьи, где написано про то, что адресную арифметику с преобразованием между типом, unsafe.Pointer и uintptr надо делать в одно выражение
источник

а

а это кто in Go-go!
pragus
А есть ли принципиальная разница с точки зрения gc между *Type, unsafe.Pointer и uintptr?
То, на что указывает unsafe.Pointer не собирается сборщиком мусора (вроде)
источник

p

pragus in Go-go!
Владимир Столяров
Насколько я понял, uintptr не считается ссылкой на данные, поэтому если его хранить оторванно, то gc может почистить память и вы останетесь с невалидным адресом. Источник предположения - грядущие изменения в go vet и статьи, где написано про то, что адресную арифметику с преобразованием между типом, unsafe.Pointer и uintptr надо делать в одно выражение
О, а можно ссылок?

Я понял что как-то смутно представляю как gc работает с указателями в память, выделенную вне go
источник

ВС

Владимир Столяров in Go-go!
Попробую найти сейчас
источник

p

pragus in Go-go!
Т.е. вот лежит в в map[string]*SomeStruct поинтер полученный кастом из unsafe.Pointer.

Будет ли такие принтеры сканить gc?
источник

а

а кто это in Go-go!
pragus
Думаю, просто guard value, чтобы взорвалось если мы выйдем за границы
ссылка на функцию тогда становится nil, а потом она вызывается
источник

ВС

Владимир Столяров in Go-go!
pragus
О, а можно ссылок?

Я понял что как-то смутно представляю как gc работает с указателями в память, выделенную вне go
А, так это ж даже в документации есть https://golang.org/pkg/unsafe/#Pointer
Пункты 2 и 3
источник

мн

мистер никитос in Go-go!
Ребят, а goland не умеет в локальные модули с go.mod чтоль?
источник

а

а кто это in Go-go!
что значит локальные
источник

мн

мистер никитос in Go-go!
а кто это
что значит локальные
Инициализирую go mod в корне, в проекте есть поддиректория, допустим, /pkg/something, где package something, соответственно. В мейне я делаю импорт по имени модуля из go.mod плюс эта поддиректория. Goland не видит этого и подсвечивает импорт красным и просит сделать go get свой внутренний =\
источник

мн

мистер никитос in Go-go!
vscode например все отлично видит
источник