Size: a a a

2020 June 30

Н

Никита in Go-go!
Anton Kucherov
Типом переменной здесь является указатель на ячейку памяти. А вот значение какого типа окажется по данному адресу одному богу известно.
Ну так чем вам не пример Даниеля выше с указателем не является типизированным нилом?
источник

SP

Slava Pinchuk in Go-go!
Никита
Наконец-то. Значит, типом может выступать такое значение

Значит, a := (*int)(nil)  – типизированный nil
звучит стремно
у интефейса тоже два поинтера вообще-то
я бы лучше обернул в интерфейс тогда
а если надо то typeassertion и счастье
источник

S

Sergey in Go-go!
Anton Kucherov
Типом переменной здесь является указатель на ячейку памяти. А вот значение какого типа окажется по данному адресу одному богу известно.
компилятору го известно. значит компилятор го - бог. а богу можно всё. предлагаю считать вопрос закрытым
источник

SP

Slava Pinchuk in Go-go!
Никита
Наконец-то. Значит, типом может выступать такое значение

Значит, a := (*int)(nil)  – типизированный nil
н апрактике такого не видал чтобы кому-то надо было
Смысл Вашего вопроса, сударь?

просто напоминает теоретические опусы и статьи которые пыляться на полке.
Ка кприменить сие действо?
источник

SP

Slava Pinchuk in Go-go!
Sergey
компилятору го известно. значит компилятор го - бог. а богу можно всё. предлагаю считать вопрос закрытым
бьем челом 😂
источник

Н

Никита in Go-go!
Slava Pinchuk
н апрактике такого не видал чтобы кому-то надо было
Смысл Вашего вопроса, сударь?

просто напоминает теоретические опусы и статьи которые пыляться на полке.
Ка кприменить сие действо?
Этот вопрос касается дискуссии выше о типизации nil’a
источник

A

Azamat in Go-go!
добрый вечер! для ms sql кто какую либу использует?
источник

DP

Daniel Podolsky in Go-go!
Anton Kucherov
Типом переменной здесь является указатель на ячейку памяти. А вот значение какого типа окажется по данному адресу одному богу известно.
у нас ограниченный набор типов, которые могут принимать значение nil

но nil этих типов нельзя не то, что присваивать - сравнивать
источник

AK

Anton Kucherov in Go-go!
Я вот не понимаю что такое типизация nil-a Для меня nil это такое специально значение по умолчанию для указателей и их производных.
источник

DP

Daniel Podolsky in Go-go!
исключение - совместимые интерфейсы. там - пожалуйста
источник

DP

Daniel Podolsky in Go-go!
Anton Kucherov
Я вот не понимаю что такое типизация nil-a Для меня nil это такое специально значение по умолчанию для указателей и их производных.
но ведь нет
источник

AK

Anton Kucherov in Go-go!
Daniel Podolsky
но ведь нет
Почему нет? 🤔
источник

DP

Daniel Podolsky in Go-go!
потому, что канал - не производная от указателя
источник

AK

Anton Kucherov in Go-go!
Ну тогда не "нет", а "не только" 🙂
источник

AK

Anton Kucherov in Go-go!
> но nil этих типов нельзя не то, что присваивать - сравнивать

вот это понятно, но значит ли это что nil типизирован? или может это значит что сами эти типы так устроены, что при сравнении Go проверяет, какой там реально за указателем тип прячется?
источник

AK

Anton Kucherov in Go-go!
Я если честно не заглядывал в реализацию, но что-то мне кажется что Nil -  это не структура в рантайме которая хранит тип. Скорее указатель это структура которая хранит тип. Отсюда я делаю вывод что nil - не типизированный. Хотя могу конечно ошибаться. Вот я и спросил
источник

S

Sergey in Go-go!
Anton Kucherov
> но nil этих типов нельзя не то, что присваивать - сравнивать

вот это понятно, но значит ли это что nil типизирован? или может это значит что сами эти типы так устроены, что при сравнении Go проверяет, какой там реально за указателем тип прячется?
а есть принципиальная разница?
источник

S

Sergey in Go-go!
Azamat
добрый вечер! для ms sql кто какую либу использует?
ms sql мало кто использует в принципе, а в го и подавно не в почёте.
источник

DP

Daniel Podolsky in Go-go!
Anton Kucherov
Я если честно не заглядывал в реализацию, но что-то мне кажется что Nil -  это не структура в рантайме которая хранит тип. Скорее указатель это структура которая хранит тип. Отсюда я делаю вывод что nil - не типизированный. Хотя могу конечно ошибаться. Вот я и спросил
nil - это значение

это значение определенного типа.

когда вы в коде пишеье nil - компилятор вычисляет, какого он должен быть типа, и подставляет соответствующий (как для нетипизованных констант)

и, один раз вычислив тип nil, компилятор строго следит за тем, чтобы он использовался в соответствии с этим типом
источник

DP

Daniel Podolsky in Go-go!
Sergey
ms sql мало кто использует в принципе, а в го и подавно не в почёте.
мало используется? вы, коллега, слегка не в теме
источник