История изменений
Исправление proud_anon, (текущая версия) :
Теперь понятно, чего ты хочешь. Это невозможно. Тебе приходит по сети набор байт. Что к чему относится, рантайм никак определить не может.
Тебе нужно какое-то полноценное решение для сериализации. Например, можно посмотреть на пакет encoding из стандартной библиотеки: https://golang.org/pkg/encoding/
Или я всё ещё неправильно понимаю?
в свое примере я показал, что в рантайме можно понять, что это *int32, но я хочу в чистом виде получить int32, чтобы отдать в одну функцию, которая знает, что нужно делать с таким типом.
Если переменная типа *int32 содержит nil, то получить значение, на которое она ссылается, невозможно, потому что этого значения не существует. Но можно, например, написать:
var x int32
if ptrvar == nil {
x = int32(0)
} else {
x = *ptrvar
}
Исправление proud_anon, :
Теперь понятно, чего ты хочешь. Это невозможно. Тебе приходит по сети набор байт. Что к чему относится, рантайм никак определить не может.
Тебе нужно какое-то полноценное решение для сериализации. Например, можно посмотреть на пакет encoding из стандартной библиотеки: https://golang.org/pkg/encoding/
Или я всё ещё неправильно понимаю?
Исходная версия proud_anon, :
Теперь понятно, чего ты хочешь. Это невозможно. Тебе приходит по сети набор байт. Что к чему относится, рантайм никак определить не может.
Тебе нужно какое-то полноценное решение для сериализации. Например, можно посмотреть на пакет encoding из стандартной библиотеки: https://golang.org/pkg/encoding/