Emin Zalaev
знатоки поправят меня, если не ошибаюсь по разному записываются в памяти
Emin Zalaev
строка это набор байтов
Emin Zalaev
которые нельзя изменить
Emin Zalaev
а массив это массив
Emin Zalaev
где?
Юра (Юрий Александрович)
То есть массив и строка с одинаковым содержимым будут возвращать разный тип? Это вообще законно?!
Да, это разные типы данных, потому что это разные типы данных. И понятие тип данных фундаментально для строго типизированных языков. Для кого неприемлемо понятие типа данных, тому ненужно работать со строго типизированными языками. Также, как не следует становиться архитектором или 3d-аниматором человеку без пространственного мышления.
Emin Zalaev
или вы про ваш пример, без использования пакета strconv
Emin Zalaev
а я только сел фильм посмотреть эх
Юра (Юрий Александрович)
Знаю этот мтеод. Честно - мне просто лень было писать типы, в браузере автодополнения нет. Но опять же, в 1 сторону я сконвертировал, почему обратно ругается?...
Потому что преобразование целого числа в строку возможно всегда, а преобразование строки в число - не всегда, т.к. строка может содержать то, что числом не является. Логично же.
David
[4]string и [5]string это разные типы
Не понял, к чему это? Речь то о строке и массиве
Emin Zalaev
к тому что разные типы это разные типы
Emin Zalaev
ну массив и строка
Emin Zalaev
знатоки поправят меня, если не ошибаюсь по разному записываются в памяти
Emin Zalaev
строка это набор байтов
Emin Zalaev
которые нельзя изменить
Emin Zalaev
а массив это массив
Emin Zalaev
я нашел.
все повторяется
David
а массив это массив
Но содержит-то массив символ, который есть байт/ы
Юра (Юрий Александрович)
1. Это глупые стереотипы. 2. Я задал 2 вполне конретных вопроса. Ваше сообщение вообще мимо них
разве я не ответил, почему Go не допускает безоговорочную конвертацию string в int?
Emin Zalaev
Но содержит-то массив символ, который есть байт/ы
так, а у тебя собственно массив строк
Emin Zalaev
байты != строка
Emin Zalaev
ты берешь строку str := "qwe" берешь массив строк arr := []string{"q","w","e"}
David
Так, а как тогда сделать массив из строки? На SO был как раз вариант через сплит
Emin Zalaev
str[i] - это байты
David
байты != строка
Понял, спасибо
Emin Zalaev
byte является другим названием типа uint8. Он используется для бинарных данных, хотя byte может использоваться для символа английского алфавита, определенного ASCII, более старого 128-символьного набора Юникод.
Emin Zalaev
str[i] - это байты
сам тип это uint8
Юра (Юрий Александрович)
Почему строки для программиста не являются массивами, хотя по сути массивами (байтов) являются. Это связано с трактованием понятия массива и строки. В Go массив - это такое, где можно менять элементы. А строка в Go - это такая последовательность байтов, которая является валидной строкой в UTF-8. Из определения строки следует, что не всякая последовательность байтов является строкой. А из определения массива следует, что массив байтов может быть произвольным. Чтобы язык не был самопротиворечивым, работать со строкой как с массивом нельзя.
Emin Zalaev
type byte = uint8
David
Нахожусь в легком шоке от того, что {"1"}[0] != "1". Во всех итерпретируемых языках, которые я знаю, это будет ложь.
Emin Zalaev
вот такой вот Го уникальный
David
вот такой вот Го уникальный
Так, а как тогда сделать массив из строки? Мне нужно сместить все буквы (шифр цезаря).
Emin Zalaev
использовал же вроде в коде
David
split?
Я имею ввиду, что бы {"1"}[0] == "1"
Emin Zalaev
Emin Zalaev
Ваня Гречка
спасибо, минус глаза
Emin Zalaev
David
Так, стоп, дурака то уж из меня не делайте. ф-ю сплит я прекрасно знаю и использовал в коде. Вопрос в том, что бы бесшовно конертировать строку в массив и обратно, т.е. сделать их использование эквивалентным.
Юра (Юрий Александрович)
Я имею ввиду, что бы {"1"}[0] == "1"
чтобы преобразовать строку в массив символов используйте []rune(s)
Илья
как вариант делить на массив рун и использовать шифр
Ваня Гречка
Питонистам го может быть непривычен и привычен одновременно
Илья
как вариант делить на массив рун и использовать шифр
или вообще байт, но уже зависит от символов и кодировки
Ron Mount
Питонистам го может быть непривычен и привычен одновременно
я не знаю насколько должна быть нулевая база по cs чтобы удивляться тому что строка не равна чару
Ron Mount
срыв покровов в си нету строк живите теперь с этим
Ron Mount
как это так у меня в питончике есть строки а в си нет как такое может быть
David
срыв покровов в си нету строк живите теперь с этим
Вы не поверите, но я писал на С. Он великолен.
Юра (Юрий Александрович)
Изучение нового языка - большой духовный труд. Необходимо открыть свое сознание новому и смиренно принимать.
David
Вам вентилятор включить?
Ron Mount
Вы не поверите, но я писал на С. Он великолен.
в таком контексте твои сообщения ещё более странные
Юра (Юрий Александрович)
Вы не поверите, но я писал на С. Он великолен.
И после этого вы удивляетесь, почему элемент одноэлементного массива не равен массиву, а число - строке?
Ron Mount
не знаю, по-моему, единственное, что в голанге может вызвать удивление, это парсинг даты, всё остальное настолько само собой разумеющееся, что эээ нууу ЧЗХ?? чарка не равна строке??
Юра (Юрий Александрович)
Вам вентилятор включить?
После заявлений о C, похоже, что Вы с вентилятором не просто пришли, а прямо на нем и прилетели. Странно, ей богу.
David
Я не знаю кто вам пишет вопросы, но они все мимо темы, даже не знаю что отвечать
Юра (Юрий Александрович)
"писал на си" может значить Hello World
Хм. И с первой строки человек проникся языком, что считает его великолепным? 🤔
Grigorij
)) топчик сёдня
Илья
Хм. И с первой строки человек проникся языком, что считает его великолепным? 🤔
Ну вот я написал на расте только hello world, но считаю его blazing fast и memory safe
Илья
👉🏻👈🏻
Ron Mount
Ron Mount
типизированный код на питоне
Ron Mount
не забыть бы дженерики в тайпхинты пихнуть
Ron Mount
чтобы обмазаться типизацией
Илья
типизированный код на питоне
казалось бы, при чем тут TS
Ron Mount
вот би била питон4 конпилируемый, я бы свичнулся даже