Size: a a a

2020 April 25

PF

Petr Filippov in Go-go!
Если уже используется sync, почему есть потребность в его очищении? Скорее проблема дизайна
источник

АП

Александр Попов... in Go-go!
Ilya Sinelnikov
Подозреваю, что sync.Map используется не по назначению. Он создан для случаев, когда очень редко меняется. Так что лучше всего переписать на обычный мап и лок
разве он не обрачивает map с мьютексами?
источник

IS

Ilya Sinelnikov in Go-go!
Александр Попов
разве он не обрачивает map с мьютексами?
Нет
источник

IS

Ilya Sinelnikov in Go-go!
Такую фигню в стдлиб бы не положили
источник

IS

Ilya Sinelnikov in Go-go!
sync.Map очень часто используется не по назначению. ОЧЕНЬ часто
источник

IS

Ilya Sinelnikov in Go-go!
Хотя в документации описаны два юскейса для него. Но кто же ее читает...
источник

ЛА

Локоть Анатолий... in Go-go!
x-foby
Так вам же никто не запрещает в YAML использовать JSON-нотации для определения вложенностей)
JSON — подмножество YAML. Используйте не отступы, а фигурные и квадратные скобки)
А пример можете привести? В Википедии вижу только что массив можно в квадратные скобки определить. А если у меня 2 структуры, вложенные друг в друга, вот так:


first:
 field1: 1
 second:
   field2: 2

Как в этом случае мне определить начало и конец определения структуры second, чтобы отсутствие пробелов перед ее полями не привело к тому, что они не будут прочитаны, тк будут относиться к корню или first, которые к этим полям отношения не имеют?
источник

VI

Vadim Inshakov in Go-go!
Ilya Sinelnikov
Подозреваю, что sync.Map используется не по назначению. Он создан для случаев, когда очень редко меняется. Так что лучше всего переписать на обычный мап и лок
вообще не по назначению, грубо говоря, хранилище конфигурации системы, membership данных, user identity. но проект довольно большой и сложный, сложно вот так взять и переписать то, на что завязано много неясной логики
источник

x

x-foby in Go-go!
Локоть Анатолий
А пример можете привести? В Википедии вижу только что массив можно в квадратные скобки определить. А если у меня 2 структуры, вложенные друг в друга, вот так:


first:
 field1: 1
 second:
   field2: 2

Как в этом случае мне определить начало и конец определения структуры second, чтобы отсутствие пробелов перед ее полями не привело к тому, что они не будут прочитаны, тк будут относиться к корню или first, которые к этим полям отношения не имеют?
first: {
 field1: 1,
 second: {
   field2: 2
 }
}


Это валидный YAML
источник

ЛА

Локоть Анатолий... in Go-go!
x-foby
first: {
 field1: 1,
 second: {
   field2: 2
 }
}


Это валидный YAML
Огонь!
источник

IS

Ilya Sinelnikov in Go-go!
Vadim Inshakov
вообще не по назначению, грубо говоря, хранилище конфигурации системы, membership данных, user identity. но проект довольно большой и сложный, сложно вот так взять и переписать то, на что завязано много неясной логики
map с синхронным доступом в использовании достаточно простая вещь, обычно заменить sync.Map на lock + map не сложно
источник

VI

Vadim Inshakov in Go-go!
Ilya Sinelnikov
map с синхронным доступом в использовании достаточно простая вещь, обычно заменить sync.Map на lock + map не сложно
а, я думал на слайсах сделать кеш, но да, можно обойтись малой кровью
источник

k

koplenov 家 in Go-go!
Хей, народ, а как можно запустить код/файл с++ в go?)0
источник

ES

Emil Sharifullin in Go-go!
koplenov 家
Хей, народ, а как можно запустить код/файл с++ в go?)0
через CGo можно
источник

k

koplenov 家 in Go-go!
Emil Sharifullin
через CGo можно
с c работает, с с++ сыпет ошибками
источник

ES

Emil Sharifullin in Go-go!
koplenov 家
с c работает, с с++ сыпет ошибками
так и не любой C++ код можно из C вызвать. Скорее всего надо обвязочки написать совместимые
источник

k

koplenov 家 in Go-go!
Emil Sharifullin
так и не любой C++ код можно из C вызвать. Скорее всего надо обвязочки написать совместимые
спасибо, я в бан)
источник

k

koplenov 家 in Go-go!
источник

ES

Emil Sharifullin in Go-go!
koplenov 家
спасибо, я в бан)
Вот же на стэковерфлоу довольно развернутая дискуссия

https://stackoverflow.com/questions/1713214/how-to-use-c-in-go
источник

ES

Emil Sharifullin in Go-go!
Другой вариант: компилить C++ в асм и вызывать из го асма функции
источник