Size: a a a

2020 April 11

RS

Roman Sharkov in Go-go!
https://play.golang.org/p/A-XXahF8Dtn

а вот тут разница уже небольшая есть:

goos: darwin
goarch: amd64
pkg: gotest
BenchmarkSwitch-8       788176712                1.57 ns/op
BenchmarkOr-8           1000000000               0.896 ns/op
PASS
ok      gotest  2.444s
источник

VM

Vladislav Milenin in Go-go!
Даниил
Возможно.
Непонятно для чего конечно , это ты подчеркнул.
Не нужно новичкам забивать голову бесполезной инфой
источник

Д

Даниил in Go-go!
Vladislav Milenin
Не нужно новичкам забивать голову бесполезной инфой
а подробнее
источник

VM

Vladislav Milenin in Go-go!
Даниил
а подробнее
Разница в ~0 нс для новичка бесполезная инфа
источник

NW

Nerzh Woodcrust in Go-go!
Roman Sharkov
https://play.golang.org/p/A-XXahF8Dtn

а вот тут разница уже небольшая есть:

goos: darwin
goarch: amd64
pkg: gotest
BenchmarkSwitch-8       788176712                1.57 ns/op
BenchmarkOr-8           1000000000               0.896 ns/op
PASS
ok      gotest  2.444s
так а шо там быстрее иф или свитч ?
источник

RS

Roman Sharkov in Go-go!
Nerzh Woodcrust
так а шо там быстрее иф или свитч ?
так результат же у вас перед глазами?!
источник

NW

Nerzh Woodcrust in Go-go!
а та не обратил внимание на названия
источник

W

Wingman in Go-go!
источник
2020 April 12

Д

Даниил in Go-go!
Vladislav Milenin
Не нужно новичкам забивать голову бесполезной инфой
действительно ты прав, потратил кучу времени , и в конце понял  , что это не столь важно.
источник

p

pragus in Go-go!
А вот где-то описано время жизни объектов в рамках defer?
источник

Д

Даниил in Go-go!
Roman Sharkov
мне вот даже интересно стало что будет быстрее

switch n {
case 0:
 return 0
case 1:
 return 1
}

или

if n == 0 || n == 1 {
 return n
}


😂

EDIT: nope, разницы нет)
и  можно же еще проще
if  n <2 {
return n
}
источник

RS

Roman Sharkov in Go-go!
Даниил
и  можно же еще проще
if  n <2 {
return n
}
✌️🏻
источник

VM

Vladislav Milenin in Go-go!
pragus
А вот где-то описано время жизни объектов в рамках defer?
Вы о чем?
источник

DP

Daniel Podolsky in Go-go!
pragus
А вот где-то описано время жизни объектов в рамках defer?
Так это просто вызов же.  Все как обычно.
источник

p

pragus in Go-go!
Vladislav Milenin
Вы о чем?

var foo *int
defer func(v *int) {
v = new(int)
*v = 5
}(foo)


Ну и дальше представим, что вызовов в defer больше одного и переменные утекают в лямбду :)
источник

DP

Daniel Podolsky in Go-go!
Все ещё не понимаю, как defer делает разницу
источник

E

Edgar in Go-go!
pragus

var foo *int
defer func(v *int) {
v = new(int)
*v = 5
}(foo)


Ну и дальше представим, что вызовов в defer больше одного и переменные утекают в лямбду :)
Как сказали выше, отличие от того, что вы просто вызовете функцию и положите в неё переменную foo или же сделаете, как указали (через defer) не будет

Они равнозначны
источник

D

DaySandBox in Go-go!
Message from UK deleted. Reason: external link (?)
источник

D

DaySandBox in Go-go!
Message from UK deleted. Reason: external link (?)
источник

AT

Anton Terisback in Go-go!
Ребят, не могу понять как решить ошибку.
Делаю биндинг для языка Wren.
Понятия не имею из-за чего проблема, т.к понимаю что мне на выход нужно вернуть ссылку на метод "байндер", но что-то пошло не так, и оно выдает такую ошибку
# github.com/Terisback/wrengo
In file included from _cgo_export.c:4:
cgo-gcc-export-header-prolog:46:14: error: conflicting types for 'wrengoBindForeignMethod'
In file included from _cgo_export.c:4:
wrengo.go:7:13: note: previous declaration of 'wrengoBindForeignMethod' was here
_cgo_export.c:43:7: error: conflicting types for 'wrengoBindForeignMethod'
void* wrengoBindForeignMethod(WrenVM* p0, char* p1, char* p2, _Bool p3, char* p4)
      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from _cgo_export.c:4:
wrengo.go:7:13: note: previous declaration of 'wrengoBindForeignMethod' was here

Ссылка на место в бинде: https://github.com/Terisback/wrengo/blob/d53521c0412833536d66b772f861cdd0f3418140/wrengo.go#L410
Ссылка на header: https://github.com/Terisback/wrengo/blob/d53521c0412833536d66b772f861cdd0f3418140/wren.h#L73
источник