@proGO

Страница 1362 из 1674
Aleksey
12.04.2018
11:13:57
Разбаловали динамические языки =(

Marlik
12.04.2018
11:14:55
Я ваще не понял, у вас есть структура, но меняется допустим скорость? Ну и?

Google
The
12.04.2018
11:15:33
иммутабельности в Go нету, все что создано в рамках пакета, может быть изменено в рамках пакета. Есть возможность сделать например New() функцию с неэкспортируемыми полями, тогда из-вне пакета нельзя будет изменить поля (если не пробросить API для изменения).

Olzhas
12.04.2018
11:15:45
А что такое иммутабельность? ))
неизменяемый объект жи

Marlik
12.04.2018
11:16:30
Ну, какие-то поля структуры будут nil в каких-то что-то будет лежать... чо думать-то.

Aleksey
12.04.2018
11:16:42
Нужно писать anotherCar := Car{newSpeed, myCar.color, myCar.prop1, myCar.prop2, myCar.prop3, …} И для изменения каждого свойства есть функция, то есть такое дублировать везде

The
12.04.2018
11:17:48
вообще, есть пакеты, которые копируют структуры в структуры, т.к. емнип reflect.Copy со структурами не работает. Они решают вашу задачу, но нужно понимать, что рефлексия замедляет код.

https://github.com/ulule/deepcopier

вот например, первое что нагуглилось

Aleksey
12.04.2018
11:19:05
Не хватает сахара https://media.giphy.com/media/6bFN1KkQDYJC8/giphy.gif

The
12.04.2018
11:19:31
берите жабаскрипт тогда, там можно все.

yuriy
12.04.2018
11:37:04
я недавно начал переться по пустому return

очень удобно

Daniel
12.04.2018
11:37:31
линтеры не согласны

Google
yuriy
12.04.2018
11:37:36
особенно если ты возвращаешь слайсы, а аппендить к пустому в го можно

The
12.04.2018
11:37:51
пустой return не очень удобен с т.з. читабельности.

Marlik
12.04.2018
11:38:38
я недавно начал переться по пустому return
Это как? Мне не хватает пустого return)))

yuriy
12.04.2018
11:38:44
потом удобно, когда привыкаешь ну то есть на 1 строчку меньше ты не пишешь var list List он у тебя уже есть, и на самом деле круто получается

щас

func (a *DeathBlow) UseOnTarget() (effects FList) { effects = effects.Add(target.dealDamage(owner, bs.dmgRangeDefault(), true, true)) return }

ну там несколько списков и результатов может быть, но вернете вы все одним return просто запишите что надо

Daniel
12.04.2018
11:40:25
в функции такого размера - да, можно

yuriy
12.04.2018
11:40:41
да, у меня вот мелкие такие штук, это навыки в игре

Marlik
12.04.2018
11:45:18
А, вот вы про что... я думал про другое. Как обычный return который ничего не возвращает...

yuriy
12.04.2018
12:04:16
ну это не ооп подход немного к нилу обращаться через точку

Marlik
12.04.2018
12:06:17
А мне вот не хватает пустого ретурна просто для выхода из функции... привык.

Daniel
12.04.2018
12:06:29
а?!

кто отнял?!

Marlik
12.04.2018
12:07:01
Ды я чот вроде как-то и не знаю как это в го))))

Ругаться линтер буит как минимум....

Daniel
12.04.2018
12:07:19
как везде

yuriy
12.04.2018
12:08:18
А мне вот не хватает пустого ретурна просто для выхода из функции... привык.
а что вернуть то? то что я выше написал это есть для того же самого есть параметры, ты уже с ними работаешь надоело - вернул и вышел

Marlik
12.04.2018
12:09:31
Не, без параметров, просто выход. Ща, сваяю.

Google
Alex
12.04.2018
12:11:07
У человека return отняли

Атас
12.04.2018
12:13:58
Marlik
12.04.2018
12:14:02
Ага. Вот https://play.golang.org/p/o1Rrm4c_uqH

Того же eval не хватает...

Атас
12.04.2018
12:19:51
а выхода куда ? по коду не понятно куда его не хватает из цикла?, из программы ?

Marlik
12.04.2018
12:20:57
Када делаешь return, тебя выбрасывает в цикл for и дёргается следующая функция...

Атас
12.04.2018
12:22:38
ну так и написано в примере и так и работать будет

хотя вместо func (p *Post) a() { if p.Title > 0 { // ... } else { return } } я написал бы просто func (p *Post) a() { if p.Title > 0 { // ... } }

Marlik
12.04.2018
12:23:41
Не, не буит. Нужно что-то возвращать всегда. Единственное что не факт проверять можно что вернул.

Marlik
12.04.2018
12:24:12
)))))

хотя вместо func (p *Post) a() { if p.Title > 0 { // ... } else { return } } я написал бы просто func (p *Post) a() { if p.Title > 0 { // ... } }
Это образно, не факт что там структура, это просто вычисление какого-то выражения...

Marlik
12.04.2018
12:25:47
Наверное я слишком просто описал что мне нужно)))

Атас
12.04.2018
12:26:17
Kirill
12.04.2018
12:26:49
хотя вместо func (p *Post) a() { if p.Title > 0 { // ... } else { return } } я написал бы просто func (p *Post) a() { if p.Title > 0 { // ... } }
всю вашу переписку не читал, но надеюсь никто в мире не пишет как 1ый вариант

Атас
12.04.2018
12:26:51
Наверное я слишком просто описал что мне нужно)))
похоже, приводи более реальный пример

Marlik
12.04.2018
12:28:29
похоже, приводи более реальный пример
Попробую)) func (p *Post) a() { if p.Title > 0 { // ... } else if выражение { return } else { // ... } } Про свитч я знаю))

Атас
12.04.2018
12:30:51
Попробую)) func (p *Post) a() { if p.Title > 0 { // ... } else if выражение { return } else { // ... } } Про свитч я знаю))
такое обычно пишу так func (p *Post) a() { if p.Title > 0 { // ... } if !выражение { // ... } }

нет ошибля не так

Google
X
12.04.2018
12:32:06
Во https://go-tour-ru-ru.appspot.com/methods/9
я посмотрел, и все равно не понял.вот я сделал https://pastebin.com/HhnAF3eA и вот пример кода с сайта https://ru.stackoverflow.com/a/436577 - результат один, то что по ссылке https://go-tour-ru-ru.appspot.com/methods/9 - тоже можно все сделать методами структур

Атас
12.04.2018
12:34:14
так func (p *Post) a() { if p.Title > 0 { // ... return } if !выражение { // ... return } .... if выражение_ last{ // ... } }

Атас
12.04.2018
12:36:22
а почему нет

Попробую)) func (p *Post) a() { if p.Title > 0 { // ... } else if выражение { return } else { // ... } } Про свитч я знаю))
пример твой можно и так написать, но все это вкусовщина func (p *Post) a() { if p.Title > 0 { // ... } else if !выражение { // ... } }

Marlik
12.04.2018
12:47:59
Не могу даже пример придумать...

Атас
12.04.2018
12:50:58
не , ты определись функция возвражает значения или нет , там чуть разные подходы

Admin
ERROR: S client not available

Nikita
12.04.2018
13:12:50
Коллеги, привет!) Прошу помощи) Есть 2 типа строк с диапазоном к примеру: 1. N13 - N19 2. M19.1 - M19.9 Есть варианты, как вывести все промежуточные последовательности без написание велосипеда?) N13, N14, ..., N19 и M19.1, M19.2, ..., M19.9 Спасибо :)

Daniel
12.04.2018
13:13:25
насколько я знаю, нет

Nikita
12.04.2018
13:16:19
Хорошо) Тогда к велосипеду) Как правильно float64 прибавлять на 0.1 чтобы не получить 0000000000000... ?)

Я видел примеры c +0.5, но это костыль какой то))

Alik
12.04.2018
13:18:41
я думаю округлять после каждого добавления

Nikita
12.04.2018
13:28:01
Это у вас 0.1 получается часть от 100 лямов?
a := 0.2 b := 0.1 fmt.Println(a + b) // 0.30000000000000004

Marlik
12.04.2018
13:30:15
Ну прально, сначала их нуно во что-то перевести, например в инт если мне память не изменяет, сложить, а потом обратно... а кто-то даже советует считать отдельно всё что до точки и после неё... тот ещё геморой. Взяли таки на блокчейн вакансию кого-то))))

Nikita
12.04.2018
13:32:32
Блин, гемор же) Для таких велосипедов в стандартной либе просто обязано что нибудь быть)

Marlik
12.04.2018
13:34:02
По моему нету, всё ручками.

Katerina
12.04.2018
13:47:07
#вакансия #петербург Есть задачи на GO Привет всем! Ищу в команду Full Stack разработчика (PHP) в Петербурге. У вас есть знакомые или друзья, кто ищет новый проект? Требования: *Опыт разработки приложений на платформе PHP от 2 лет; *Уверенные знания SQL, CSS, JS, Angular; *Опыт работы с фреймворками (желательно Zend); *Знание *nix систем; *Умение адекватно планировать свою работу, управлять качеством, формировать и отвечать за согласованные сроки; *Знание методологий разработки; *Будет преимуществом хорошее знание Go, умение автоматизировать процессы скриптами на Bash, Ruby, Python. подробности: https://spb.hh.ru/vacancy/25349325

Google
Makkusu
12.04.2018
13:49:58
Доброе! а в чем проблема? я пока только планировал переписать на go один древний микросервис с php, который генерит xlsx, смотрел эту либу.
Да я не могу передать цвет фона. Указываю ссылку на структуру Style -> Fill и свойство BgColor со строкой в HEX и в итоге ничего.

Ох, xslt в 2018 году
это страшнее IE. Долго отвыкать будем

Атас
12.04.2018
13:50:24
Хорошо) Тогда к велосипеду) Как правильно float64 прибавлять на 0.1 чтобы не получить 0000000000000... ?)
тебя ведь только вывод интересует ? https://play.golang.org/p/99DhyR4n5zH но плавующая точка тот еще гемор

Marlik
12.04.2018
13:52:10
тебя ведь только вывод интересует ? https://play.golang.org/p/99DhyR4n5zH но плавующая точка тот еще гемор
Нееее)))) ему явно не вывод, да и что будет если значение два числа после знака?

Nikita
12.04.2018
13:53:02
Ну я так сделал))

Пока что работает как надо :)

Marlik
12.04.2018
13:56:15
Пока что работает как надо :)
Вроде работает, но это только для частного случая прибавить единицу...

Yuriy
12.04.2018
15:32:53
Всем привет! Народ подскажите кто сталкивался с такой проблемой. Реализовал websocket сервер на Go. Завернул его через реверс-прокси Nginx. Все вроде нормально. Но если вдруг наступает read timeout то соединение рвется nginx-ом. Все логично. Однако web-клиент отваливается нормально. А сервер на Go запускает бесконечный цикл четние данных с клиента и нагружает процессор до 100. Стал копать причину... Оказалось что nginx при таком таймауте начинает присылать на сервер opCode=0x0 (OpContinuation ) и загоняет его в цикл. Вопрос!? Это нормальное поведение со стороны nginx и мне нужно отловить этот opCode на сервере и грохнуть коннект или это баг nginx?

Daniel
12.04.2018
15:34:03
это баг, но неизвестно, чей. я такого никогда не видел

Yuriy
12.04.2018
15:34:39
это баг, но неизвестно, чей. я такого никогда не видел
Без проксирования все работает как часы...

Походу баг все таки либи.. Попробовал использовать другую. Все норм..

Makkusu
12.04.2018
17:16:17
Добрый вечер. Подскажите в чем проблема при работе с либой xlsx от tealeg. Данные на вход подаю нормальные без дубликатов. Открываю файл и в цикле перебираю sheet. Перебираю массив с данными во вложенном цикле и создаю каждый раз новую строку и ячейки. В итоге он мне id пишет неверный. Попробовал записать в новый файл. Всё повторяется. Пишет все данные верно кроме первой ячейки id. Код примерно такой file = xlsx.NewFile() sheet, err = file.AddSheet("Table") functions.Check(err) for _, dataElem := range data { row = sheet.AddRow() cell = row.AddCell() cell.Value = dataElem.Id . . . // Добавляю другие ячейки }

Yuriy
12.04.2018
17:18:05
А что за либа?
https://github.com/gobwas/ws/blob/master/README.md

https://github.com/gobwas/ws/blob/master/README.md
Но ещё проведу более детальные тесты, для верности, чтобы issue открыть..

Mykyta
12.04.2018
17:23:03
https://github.com/gobwas/ws/blob/master/README.md
Есть еще либа https://github.com/qbeon/webwire-go Ее автор есть прям здесь либо в соседнем чатике

Yuriy
12.04.2018
17:26:36
Есть еще либа https://github.com/qbeon/webwire-go Ее автор есть прям здесь либо в соседнем чатике
Спасибо Гляну обязательно ... Но я уже под gobwas/ws запилил кучу всего в текущем проекте, а тут сюрприз такой...

Страница 1362 из 1674