Alexander
эх, если бы запоминать все, что читаю так, как написано, а не говорить на говяжьем
Bagasl
iTerm2 + fish
Alexander
у меня вот на таком отрабатывает: $ go version go version go1.16.13 linux/amd64
Bagasl
у меня вот на таком отрабатывает: $ go version go version go1.16.13 linux/amd64
➜ go version go version go1.17.1 linux/386 ➜ go run kek.go finished
Gosha
да, у меня всё-таки отрабатывает тоже, сорян
Bagasl
вроде начиная 1.14 он не должен блочиться. Мб кто-то решит упороться и проверить, лочится ли на go 1.13)
Gosha
благодарю господа
Alexander
да, так и есть 13 - лочится, 14 - нет
Gosha
Потому что не происходит чего-то, что позволило бы планировщику переключиться на другую горутину, например чтение, запись, слип. Сейчас всех условий не вспомню
ну да, это 5 вопрос из https://medium.com/@victor_nerd/golang-interview-questions-bd3064f2ff69 - статья 19 года, тогда лок был, тк нет причин передавать управление, но с тех пор планировщик улучшили получается
Павел
кто подскажет новичку в visual studio code почему терминал bash не форматирует код через gofmt -w ? перед fmt.Println("Hello, playground1222") в 8 строчке должен появиться отступ после gofmt -w main.go
Alexander
Потому что у тебя файл не сохранён и ide хранит его состояние. Ну и вдобавок, если ничего не сломалось Вс код сам запускает гофмт
Павел
Потому что у тебя файл не сохранён и ide хранит его состояние. Ну и вдобавок, если ничего не сломалось Вс код сам запускает гофмт
Он сохранён, только гофмт принудительно не работает а работает только при сохранении
Павел
Но и при сохранении ctrl+s да, он сам запускает поэтому можно не париться
Павел
а то курсы golang слишком сложные для новичков
Alexander
У тебя точка стоит у имени файла - не сохранен
Emil
а то курсы golang слишком сложные для новичков
Ну, ты есть в беседе по курсу МФТИ, он точно не для новичков. Tour of go, go by example, и ютьюб
Павел
Всё получилось при сохранении форматит
Emil
и что вообще можно новичку почитать по go?
И книга Донована где-то в файлах чата есть
✌🏻
Ну, ты есть в беседе по курсу МФТИ, он точно не для новичков. Tour of go, go by example, и ютьюб
не подскажете, есть ли какие-то курсы/книги по сетевому программированию на гоу, желательно с практикой
Павел
спасибо
Павел
Можно беседу по курсу МФТИ? Или приват?
Чат курса Уважаемые слушатели! У нашего курса есть чат. Там вас ждет живое общение с другими слушателями, быстрые ответы и активные обсуждения по тематике курса. Telegram: https://t.me/joinchat/B_E-zEf5foBkRjuyMHnkTA Правила чата: Это рабочий чат, в нём четко по делу Входя в чат - не здороваемся, присоединяемся молча, "всем привет" писать не надо Троллинг, оскорбления и прочее агрессивное поведение караются перманентным банном Оффтоп и споры на отвлеченные темы не приветствуются Реклама запрещена При отправке в чат кода с вопросом используйте бектики ( ``` ``` ) или лучше сразу на play.golang.org. Не используйте картинки для этого Вакансии только с аппрува админом
Anonymous
вы можете хоть в голове распределять нагрузку между серверами, но без этого вы....
Anonymous
без ответа на вопросы про слайс даже не интересно, какие там знания по кластеру
Anonymous
E-No†
Привет всем, у меня вопрос может кто объяснит как лучше это сделать Есть testMap = make(map[int]StrucApp Type StrucApp struct{ Str string Index int } Как мне изменить или добавить данные не создавая структуру Хочется что подобие такого testMap[1].Str = "stroca" testMap[1].Index = 2
Alexander
а никак, тока получать значение, а потом его устанавливать. попробуй хранить указатели
Alexander
еще можно вместо присваивания сеттер попробовать написать. самому лень пробовать=)
Alexander
"а никак, тока получать значение, а потом его устанавливать. " то бишь val := m[k] val.Foo = "bar" m[k] = val
Alexander
концепция мапы такова, что она не может дать указатель на значение
E-No†
"а никак, тока получать значение, а потом его устанавливать. " то бишь val := m[k] val.Foo = "bar" m[k] = val
Ооо, это интересно решение, как я до этого не додумалася, а то создаю новую структуру копирую в неё нужную и меняю значения а потом присваиваю обратно
E-No†
концепция мапы такова, что она не может дать указатель на значение
Да, пробовал через указатели компиль ошибки выдаёт
Alexander
testMap[1].Str = "stroca" - по сути это уже подразумевает использование указателя внутри
Alexander
потому и не работает, что нельзя указатель на значение в мапе получить
E-No†
Спасибо за решение что вверху, оно мне подходит👍
Alexander
просто какой-то мусор
Егор
Доброго времени суток. Здесь много людей пишут код в vs code? Проблема заключается в следующем: 1) Я с помощью команды go get получил нужный мне пакет. Он загрузился в $GOPATH\pkg 2) Данный исходный код успешно запускается 3) Но расширение go в vs code просто не ищет этот пакет в папке $GOPATH\pkg, он смотрит только на $GOPATH\src (прикладываю скрин) Вопросы: Может быть кто-то сталкивался с этой проблемой? Как заставить vs code видеть этот пакет? Я что-то сломал? Или это нормальное поведение расширения go, и мне стоит сделать клон нужного мне репозитория в src?
Егор
а у тебя go mod лежит рядом с проектом? насколько я помню, когда скачиваешь так проекты, то они видны только через go run\build
У меня следующая структура проекта. если удалить зависимости в go.mod и go.sum, то go run попросит установить нужные модули. Затем я запустил go mod tidy. Не совсем понял про "рядом". Сейчас сделал go mod init и mod tidy в директории с файлом main.go. Ничего не изменилось... Может, если я перейду в goland, то таких проблем не будет?))
Егор
4 года пишу на vscode и все нормально. проверь пути переменных, правильно ли их видит vscode
В общем я, кажется, понял из-за чего была проблема. В моем workspace был открыт сам gopath. И там было несколько проектов. Когда я запустил vs code в конкретном одном проекте - все заработало
Егор
В любом случае спасибо за помощь
Несин Данила
Возможно ли после открытия файла выяснить с какими флагами он открыт? co, err := os.OpenFile("configs.yml", os.O_RDONLY|os.O_CREATE|os.O_WRONLY, 0755) Задача Eсли файл есть и открывается - прочитать. Если не открывается и не существует - создать шаблон. Если нет, то думаю нужно будет отдельно проверять наличие файла и при невозможности его прочитать - создавать шаблон
Anonymous
https://go.dev/play/p/ZTTVzEcVwCF
Anonymous
https://go.dev/play/p/ZTTVzEcVwCF
в этом коде как задействован httpRequest? Получается httpRequest записывает полученные данные описанными в нем действиями в conn или conn отправляет httpRequest как запрос во время соединения и так получает данные?
Alexandr
Возможно ли после открытия файла выяснить с какими флагами он открыт? co, err := os.OpenFile("configs.yml", os.O_RDONLY|os.O_CREATE|os.O_WRONLY, 0755) Задача Eсли файл есть и открывается - прочитать. Если не открывается и не существует - создать шаблон. Если нет, то думаю нужно будет отдельно проверять наличие файла и при невозможности его прочитать - создавать шаблон
Как вариант у себя где то помечать какими флагами вы его открывали. если нужна информация о файле то stat, err := f.Stat() if err != nil { log.Fatalf("stat: %v", err) } log.Printf("file %q: size: %d, mod. time: %q", stat.Name(), stat.Size(), stat.ModTime()) log.Printf("file sys: %T", stat.Sys()) Лучше отдельно проверять существует ли фаил.
Anonymous
тока он на go.dev не отработает правильно
благодарю за ответ) знаю там норм не работает, просто, чтобы код показать. Получается запрос записывается в переменню, для меня это не обычно. Обычно запросы через функции, методы, или типы какие - то, а здесь строки присваиваются к переменной и она становится запросом. Просто не смог найти нормальную статья, которая объяснила бы запрос в такой форме.
Maks
Maks
Кто объяснит почему так
Maks
Это же как то с двоичной системой должно быть связано
Bagasl
Кто объяснит почему так
могу предположить, что JS преобразует float при маленьких значениях в строку вида «1E-7», которая почему то парсится как 1
Bagasl
Да, видимо так и есть
Dmitry
Всем привет! Подскажите пожалуйста, поддерживаются ли в golang raw socket? Нужно отправлять / принимать icmp пакеты самостоятельно заполняя поля заголовка icmp.
Anonymous
это получается везде можно выбрать тип данных интерфейс, и передавать что хочешь
Anonymous
почти что хочешь **
Anonymous
есть тулза чтобы чекать равномерное распределение по хостам?
Alexander
распределение чего и где?
Anonymous
серверов
Alexander
прям все прояснил
Alexander
тогда ответ - есть
Anonymous
ок какая
Alexander
как я понимаю требуется балансер
Alexander
а вот дальше нужно нормально описать что тебе нужно
Anonymous
есть балансер
Anonymous
5 серваков
Anonymous
и нужно чекать равномерно они распределяются или нет
Anonymous
грубо говоря тест, который следит за этим