@proGO

Страница 1609 из 1674
Sergey
02.08.2018
18:40:29
Хочется повторящийся код генерить автоматом

Artem
02.08.2018
18:41:13
Jet шаблонизатор

Sergey
02.08.2018
18:41:39
Смотрю вот на аст и стандартный шаблонизатор

Google
Sergey
02.08.2018
18:44:32
Всмысле с помощью го аст парсить файлы проекта и генерить в нужных местах с помощью стандартного щаблонизатора нужные функции

Которые тупо повторяются но у них разный тип

Artem
02.08.2018
18:44:55
Я себе делал либу которая AST в понятный вид приводила

Внутри beego вроде что-то генерится

Sergey
02.08.2018
18:47:06
Ладна начну разбираться с аст и по простому генерить что то для начала

Aleksey
02.08.2018
19:04:26
Ладна начну разбираться с аст и по простому генерить что то для начала
Бабка за дедку, дедка за репку На основе stringer кто то создал const_list, а на основе этого констлиста я сколхозил map_gen, который для пользовательского типа гепатит функцию сравнения мар https://github.com/fr0ster/map_gen/blob/master/main.go Нифига не автоматически, но принцип демонстрирует. В репозитории я указал ссылку на оригинальный исходник. Все было создано в рамках дискуссии нужны ли в go дженерики

tony
02.08.2018
19:08:38
Господа, подскажите неофиту, вопрос скорее-всего глупый, но Golang эффективнее работает с памятью по сравнению с php 7.x?

Вопрос снят, действительно глупейший вопрос.

Bogdan (SirEdvin)
02.08.2018
19:43:53
Потенциально опасные места в го сделаны так чтоб ты 100 раз подумал хочешь ли ты этого или нет
Я тут недавно выяснил, что идея метаданных на коментах таки пошла в массы, тот же easyjson. Так что тут вы не правы.

Bogdan (SirEdvin)
02.08.2018
19:46:09
//easyjson:json type A struct {} Коммент, который используется как мета-информация, из этой либы: https://github.com/mailru/easyjson Вот jetbrains даже для нее костыль впилили: https://habr.com/company/JetBrains/blog/419061/ (раздел "Стиль кода").

Google
Vladimir
02.08.2018
19:49:44
Я бы честно говоря лучше делал бы кодогенерацию из совсем своего формата

Bogdan (SirEdvin)
02.08.2018
19:50:54
Ну, подобный подход к хранению метаинформации в комментариях был еще предложен и go:generate и cgo, так что я тут вижу только закономерное развитие событий.

Daniel
02.08.2018
20:10:28
Я бы честно говоря лучше делал бы кодогенерацию из совсем своего формата
easyjson прекрасен тем, что он drop-in-replacement. он к существующим типам генерит маршал-анмаршал методы

m
02.08.2018
20:47:49
Точнее, на его основе можно свой быстрый генератор JSON-а написать.

Там полно хороших идей.

Vladimir
02.08.2018
20:48:58
easyjson прекрасен тем, что он drop-in-replacement. он к существующим типам генерит маршал-анмаршал методы
Ну я бы лучше имел полную генерацию но без магических комментариев

easyjson прекрасен тем, что он drop-in-replacement. он к существующим типам генерит маршал-анмаршал методы
Пример кстати с msgpack, там нет магических комментариев и можно просто обычные структуры использовать

m
02.08.2018
20:50:59
Ну я бы лучше имел полную генерацию но без магических комментариев
размести функции маршалинга рядом с определение структуры и каждый раз ручками дописывай в неё изменения.

Subbotin
02.08.2018
23:15:34
вот кстати парни. вот такой вопрос. у меня есть тип. у него есть методы. в одном из методов я хочу дёргать некий колбэк, который хочу динамически объекту этого типа назначать. счас я делаю что-то типа type A struct { Callback func(a *A) error }

и вызываю потом a.Callback(a)

а можно как-то сделать динамически назначаемый метод чтобы вызывать просто a.Callback()

вопрос чисто по синтаксическому сахару по сути

Yaroslav
02.08.2018
23:43:41
Передавать колбек в метод

Ну или назначать при создании переменной этого типа как поле, если необходим доступ ко внутренним полям

Dmitri
03.08.2018
01:16:57
дефолтный не оч простой
У меня для вас плохие новости...

Artem
03.08.2018
05:38:22
У меня для вас плохие новости...
Я сравниваю по синтаксису с другими движками, а вы?

Stannis
03.08.2018
05:58:35
парни, как 00001 получить?

Google
Stannis
03.08.2018
05:58:43
Чёт не могу с форматом разобраться

Anton
03.08.2018
06:00:53
%05b

Stannis
03.08.2018
06:01:27
%05b
Спасибо!

Foxcool
03.08.2018
06:11:51
https://habr.com/company/JetBrains/blog/419061/ я, конечно, на Атоме сижу, но фичи интересные

Sergey
03.08.2018
06:34:18
Там указатель

*c

Попробуй

Stannis
03.08.2018
06:39:46
Ещё вопрос знатокам есть функция редиректа func redirect(w http.ResponseWriter, r *http.Request) { year, month, day := time.Now().Date() req := fmt.Sprintf("https://wiki/pages/createpage.action?spaceKey=EWO&title=%d%d%dL&linkCreation=true&fromPageId=144443424", year, month, day) http.Redirect(w, r, req, 301) } func main() { C := new(count32) C.counter = 0 fmt.Printf("%05d", C.counter) http.HandleFunc("/", redirect) err := http.ListenAndServe(":9988", nil) if err != nil { log.Fatal("ListenAndServe: ", err) } } Как в redirect передать C ???

http.HandleFunc("/", r(&С)) и func r(w http.ResponseWriter, r *http.Request, z *c) { не рабят

Stannis
03.08.2018
06:44:28
как вариант использовать глобальную переменную
Не пойму почему нельзя передать объект?

Igor
03.08.2018
06:44:52
Привет. Есть куча json файлов с именем id. Нужно делать по ним поиск по словам и выдавать id файлов, в которых есть совпадения. Что для этого уже есть? Так сказать поисковая машина

Andrew
03.08.2018
06:45:50
Не пойму почему нельзя передать объект?
потому что в качестве хэндлера используется функция определенного типа в данном func(http.ResponseWriter, *http.Request)

Igor
03.08.2018
06:45:54
спс, гляну

Daniel
03.08.2018
06:48:14
http.HandleFunc("/", r(&С)) и func r(w http.ResponseWriter, r *http.Request, z *c) { не рабят
слово "замыкание" вам говорит о чем-то?

Daniel
03.08.2018
06:48:36
плохо

так вот - это способ передать то, что вы хотите, туда, куда вы хотите

Google
Stannis
03.08.2018
06:49:46
так вот - это способ передать то, что вы хотите, туда, куда вы хотите
Спасибо Почитаю Пока в начале пути посли питона

Daniel
03.08.2018
06:51:37
там тоже есть замыкания

вот так, примерно: https://play.golang.org/p/8xU6mnj4P0u

Alexander
03.08.2018
07:25:51
вот так, примерно: https://play.golang.org/p/8xU6mnj4P0u
это так просто можно написать свой сервер без использования сторонних библиотек?

Daniel
03.08.2018
07:26:37
а?!

Alexander
03.08.2018
07:28:06
а?!
http.HandleFunc( "/", func(w http.ResponseWriter, r *http.Request) { redirect(w, r, C) }, ) err := http.ListenAndServe(":9988", nil) if err != nil { log.Fatal("ListenAndServe: ", err) }

Daniel
03.08.2018
07:29:15
ну - да, мне надо передать в обработчик что-то, что вызываающая сторона ему передавать не готова

я устраиваю замыкание, и все получается хорошо

Alexander
03.08.2018
07:30:19
C := new(count32) - а что это за тип данных такой? prog.go:10:58: undefined: count32 prog.go:17:11: undefined: count32

Daniel
03.08.2018
07:30:44
а это не мое, это я у автора вопроса позвимствовал

Alexander
03.08.2018
07:34:20
а это не мое, это я у автора вопроса позвимствовал
а зачем счетчик передавать, если его там не инкриментят? и может его надо передавать по ссылке? сори если вопросы тупые. я 3 день в го

Alexander
03.08.2018
07:35:45
Инкрементят
а покажи на место в коде

Andrew
03.08.2018
07:36:16
а покажи на место в коде
в примере этого нет

Stannis
03.08.2018
07:37:21
Alexandr
03.08.2018
09:41:49
коллеги, подскажите, пожалуйста, как на gin-gonic сделать регистрацию длля сайта? логин пароль, хеши, куки, вот это всё. Есть ли какой-то готовый пакет?

Pawel
03.08.2018
09:46:42
потому что данные поступают неравномерно и их надо как-то упорядочить по времени
В таком случае вы не можете гарантировать их последовательную выдачу на использование в отсортированном виде

Google
Mihail
03.08.2018
11:03:28
Всем привет

Какие возможности языка Go помимо Rest Api & Websocket?

Nyan
03.08.2018
11:05:57
это язык общего назначения, и возможности у него соответствующие

Виктор
03.08.2018
11:08:50
если взять определение из википедии, то нет - го не предметно-ориентированный. и человек с ником Nyan выше написал что это язык общего назначения

Mihail
03.08.2018
11:09:16
Если бы вас попросили в одном предложении описать возможности языка Go, как бы вы это сделали?

Сори за офтоп

Nyan
03.08.2018
11:10:40
с крутой кросскомпиляцией

Mihail
03.08.2018
11:10:57
Вы крутые

спасибо)

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