Size: a a a

2020 June 02

НМ

Никита Меркулов... in Go-go!
Никита
Реально не хватает возможности сделать обертку Optional под любой тип :(
тоже периодически думаю об этом. однако не могу придумать однозначно киллерфичи, которую бы решал опшнл в го..

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

НМ

Никита Меркулов... in Go-go!
ну и никто не отменял кодогенерацию. напиши один опшнл со своим типом и сгенерируй столько опшнлов, сколько тебе нужно

вот например через эту тулзу https://github.com/cheekybits/genny
а еще можно все то ж самое через
sed '...' | goimports > generated.go
сделать)
источник

E

Edgar in Go-go!
Никита
Реально не хватает возможности сделать обертку Optional под любой тип :(
функциональные параметры чекни, когда нужно, чтобы юзер мог один параметр отправить, либо 100
источник

A

Andy in Go-go!
подскажите новичку плиз. есть несколько структур наследованных от базовой, у части этих структур появился общий метод, который теперь необходимо вынести отдельно. При этом в базовую включить его нельзя. Насколько понимаю в go это решается за счет интерфейсов, но внутри функции где аргументом будет интерфейс, доступны только методы объекта, к свойствам уже не достучаться. Единственный вариант это добавить методы работы со свойствами объекта и работать через них, или есть еще какие-нибудь варианты?
источник

DP

Daniel Podolsky in Go-go!
Наследованных - плохое слово, путает вас
источник

НВ

Никита Вейз... in Go-go!
Привет всем.
Есть своя структура, для которой написан метод String().
Есть массив с элементами этой структуры.
Хочу собрать в одну строку весь этот массив, и как понял метод String тут бесполезен, потому что ни через strings.Join не получается, ни через попытку преобразовать каждый элемент к строке  string(myType).
Вопрос как тогда правильно это делать?
источник

DP

Daniel Podolsky in Go-go!
Циклом
источник

A

Andy in Go-go!
Daniel Podolsky
Наследованных - плохое слово, путает вас
ну это примерно так
type baseStruct struct{}

func (b *baseStruct) someMethod{
...
}

type childStruct{
   baseStruct
}
источник

НВ

Никита Вейз... in Go-go!
Daniel Podolsky
Циклом
Думал как то более элегантно можно, но спасибо
источник

AK

Anton Kucherov in Go-go!
Andy
подскажите новичку плиз. есть несколько структур наследованных от базовой, у части этих структур появился общий метод, который теперь необходимо вынести отдельно. При этом в базовую включить его нельзя. Насколько понимаю в go это решается за счет интерфейсов, но внутри функции где аргументом будет интерфейс, доступны только методы объекта, к свойствам уже не достучаться. Единственный вариант это добавить методы работы со свойствами объекта и работать через них, или есть еще какие-нибудь варианты?
- Что значит "вынести отдельно"?
- Почему нельзя включить в базовую?

Попробуйте описать с помощью кода проблему и то решение которые вы здесь описали. Так из текста достаточно сложно понять, в чем собственно проблема, но очень кажется что вы подобрали какую то неправильную абстракцию.

Можете использовать:
https://play.golang.org/
или
https://goplay.space/
источник

A

Andy in Go-go!
Anton Kucherov
- Что значит "вынести отдельно"?
- Почему нельзя включить в базовую?

Попробуйте описать с помощью кода проблему и то решение которые вы здесь описали. Так из текста достаточно сложно понять, в чем собственно проблема, но очень кажется что вы подобрали какую то неправильную абстракцию.

Можете использовать:
https://play.golang.org/
или
https://goplay.space/
сейчас нарисую
источник

A

Andy in Go-go!
Anton Kucherov
- Что значит "вынести отдельно"?
- Почему нельзя включить в базовую?

Попробуйте описать с помощью кода проблему и то решение которые вы здесь описали. Так из текста достаточно сложно понять, в чем собственно проблема, но очень кажется что вы подобрали какую то неправильную абстракцию.

Можете использовать:
https://play.golang.org/
или
https://goplay.space/
источник

A

Andy in Go-go!
если упрощенно то как-то так
источник

АП

Александр Попов... in Go-go!
интересно кто-то grpc прокси писал?
источник

АП

Александр Попов... in Go-go!
аля балансер
источник

A

Andy in Go-go!
Anton Kucherov
- Что значит "вынести отдельно"?
- Почему нельзя включить в базовую?

Попробуйте описать с помощью кода проблему и то решение которые вы здесь описали. Так из текста достаточно сложно понять, в чем собственно проблема, но очень кажется что вы подобрали какую то неправильную абстракцию.

Можете использовать:
https://play.golang.org/
или
https://goplay.space/
а вынести отдельно, потому как метод один, довольно объемный ну и вряд ли будет в будущем отличаться у использующих его структур. к большей части дочерних он неприменим.
источник

C

Crush_my_love in Go-go!
func main() {
   var x, y, p, counter int

   fmt.Scan(&x)

   fmt.Scan(&p)

   fmt.Scan(&y)

   for x != y {
       res := float64(x) * float64(p) / 100.0
       x += int(res)
       counter++
   }

   fmt.Println(counter)
}


Кто-нибудь подскажет почему у меня в x после прибавления к нему переменной res переведённой в инт получается мусорное значение?
источник

@

@mr_tron in Go-go!
мусорное?
источник

C

Crush_my_love in Go-go!
@mr_tron
мусорное?
ну оно неадекватное
источник

C

Crush_my_love in Go-go!
-830350291544280064
источник