
Stanisval
18.06.2018
13:55:28
Вот, то есть, формально, исходя из спецификации вполне возможно нечто следующее :
func main { yoyoyo }
Не могу понять, как они в реальном компиляторе такое безобразие исключают.
Потому что понятное дело такое никак не возможно в реальном коде программы.
В общем, понимаю что проблема моя не связана напрямую с языком Go , а с теорией формальных языков и грамматик.
Прост хотел убедиться, что такая ситуация действительно невозможна и проблема непосредственно с грамматикой моей.

Александр
18.06.2018
14:00:48
O_o

Google

Александр
18.06.2018
14:00:53
а зачем можно спросить?

Stanisval
18.06.2018
14:01:24
Курсач :)

Александр
18.06.2018
14:01:51
вот же пережигают энергию не в то русло

Stanisval
18.06.2018
14:05:41
Хах, может быть :)
Но когда, например, для какого-нибудь супер-родного и изученного Си пишешь парсер (ну или транслятор) узнаешь такие конструкции...
Что хах кажется , будто в обще не умеешь программировать на нём )

Vladislav
18.06.2018
14:14:39


Stanisval
18.06.2018
14:18:28
Можешь попушествовать (в смысле понажимать на названия нетерминалов) и в итоге будет
Operand -> operandname-> идентификатор
Лень подробно было писать/скринить, ну попозже мальца могу прям четко наскринить эту ветку в спецификации

Google

Stanisval
18.06.2018
14:29:42
Вот, то есть, либо я что-то путаю, то ли...
Из идентификатора без каких либо ограничений можно свернуться к Statement

Vladislav
18.06.2018
14:31:50

Stanisval
18.06.2018
14:36:24

Pawel
18.06.2018
17:03:19
Мучайся или учи реакт ?
а чем тебя напрягает такой вариант?
x := Div(
H1A(Attrs{
Width: "10px",
Colspan: "12",
}),
H2(),
Div(
Comment("some comment here"),
P(Text("text inside P"),), Text("some text here"),
Li(), Ul( Comment("and some comment here"), ),
),
Text("and here"),
)
<div><h1 width="10px" colspan="12"></h1><h2></h2><div><!--some comment here--><p>text inside P</p>some text here<li></li><ul><!--and some comment here--></ul></div>and here</div>
И реакт учить не надо ;)


Kirill
18.06.2018
18:02:47
а чем тебя напрягает такой вариант?
x := Div(
H1A(Attrs{
Width: "10px",
Colspan: "12",
}),
H2(),
Div(
Comment("some comment here"),
P(Text("text inside P"),), Text("some text here"),
Li(), Ul( Comment("and some comment here"), ),
),
Text("and here"),
)
<div><h1 width="10px" colspan="12"></h1><h2></h2><div><!--some comment here--><p>text inside P</p>some text here<li></li><ul><!--and some comment here--></ul></div>and here</div>
И реакт учить не надо ;)
Эмммм... Всем? :)

Pawel
18.06.2018
18:07:06
Эмммм... Всем? :)
1. Это лучше чем jsx, поскольку оно нормально композится
2. не надо в js, достаточно голанга
3. static html виден поисковикам в отличие от spa
...
profit!

Никита
18.06.2018
18:11:06
а чем тебя напрягает такой вариант?
x := Div(
H1A(Attrs{
Width: "10px",
Colspan: "12",
}),
H2(),
Div(
Comment("some comment here"),
P(Text("text inside P"),), Text("some text here"),
Li(), Ul( Comment("and some comment here"), ),
),
Text("and here"),
)
<div><h1 width="10px" colspan="12"></h1><h2></h2><div><!--some comment here--><p>text inside P</p>some text here<li></li><ul><!--and some comment here--></ul></div>and here</div>
И реакт учить не надо ;)
Похоже на флаттер

Pawel
18.06.2018
18:14:58
Что такое флаттер и почему плохо? Целый SO на этом простроен же
на razor
Впрочем html templates из стандартной либы голанга - это действительно ОЧЕНЬ плохо, тут я согласен. На столько плохо, что я не могу представить как им вообще пользоваться и не плеваться матюками

Alexey
18.06.2018
18:37:55

Pawel
18.06.2018
18:49:33
Он просто другой
Наверное для людей из мира похапэ это норм, но меня после попыток сделать простейший лэйаут с шапкой, подвалом и десятком наследованных кусков от этого аж прям трясёт.

Alexey
18.06.2018
19:00:29

Kaspar
18.06.2018
19:02:49

The
18.06.2018
19:03:08

Kaspar
18.06.2018
19:04:04
Я знаю. Мне интересен кейс проблемный

The
18.06.2018
19:05:25
кейс проблемный, если есть асинхронные компоненты, в которые нода гугла-бота не умеет (по крайней мере, не умела). ну и яндекс до недавнего времени не умел вообще spa.

Pawel
18.06.2018
19:11:20

Google

Alexey
18.06.2018
19:12:12
А hugo это штатный с небольшим дополнением функциями

Pawel
18.06.2018
19:14:59

Kaspar
18.06.2018
19:17:34
SSR наврядли только для сео нужен

Sergey
18.06.2018
19:18:04

Pawel
18.06.2018
19:18:45

Sergey
18.06.2018
19:19:16
на гошке есть неплохие реализации liquid

Alexey
18.06.2018
19:19:52

Sergey
18.06.2018
19:20:44
понга ок, когда темплейты почти что без логики или манипуляцией данных
в понге даже нет возможности сделать что-то наподобие
{% for a in ["a", "b", "c"] %}
{{ a }}
{% endfor %}
потому что она не умеет в литералы непримитивных типов

Pawel
18.06.2018
19:33:30

Sergey
18.06.2018
19:38:58

Alexey
18.06.2018
19:39:02
Некоторое разбирательство со штаной библиотекой, почитав доку к hugo, в дополнение к text/template, а потом html/template ставит всё на свои места

Pawel
18.06.2018
19:40:59

Sergey
18.06.2018
19:41:10
почему?
не все задачи покрываются logic-less темплейтами

Pawel
18.06.2018
19:43:54

Sergey
18.06.2018
19:44:03
впрочем, я прекрасно понимаю, что это очень активное использование темплейтов

Alexey
18.06.2018
19:47:25

Google

Pawel
18.06.2018
19:50:35
в коде на языке Го эти моменты проще локализовать. при чём на много проще
проще дебажить
проще тетстить

Admin
ERROR: S client not available

Sergey
18.06.2018
19:52:43

Pawel
18.06.2018
19:53:31
можно сделать как в реакте - вычислять разницу между деревьями и передавать её клиенту вместо того чтобы передавать дерево целиком. поробуйте такое фокус провернуть с темплейтами, ха-ха

Kirill
18.06.2018
20:00:14

Pawel
18.06.2018
20:07:10

Kirill
18.06.2018
20:08:31
везёт, когда ещё есть такие проекты
есть возможность отдохнуть, по большому счёту

Pawel
18.06.2018
20:09:30
кстати, подобный почти прод реди проект уже есть. https://github.com/icza/gowut Такой себе gwt на гошечке. Но там не очень всё хорошо

Kirill
18.06.2018
20:10:22
> Latest commit 7dde321 on 26 Sep 2017
прод реди? RLY?

Pawel
18.06.2018
20:10:38
увы..
но сама идея классная я считаю

xPushkin
18.06.2018
20:11:42

Kirill
18.06.2018
20:12:24
в контексте либы для фронта? да, проект сдох

xPushkin
18.06.2018
20:12:45

Kirill
18.06.2018
20:22:56

Google

Constantine
18.06.2018
20:26:10
какие?
?
сейчас модно выпускать сборщики фронта

Alexandr
19.06.2018
07:38:08
Коллеги, можно ль считать из файла определёную строку, не сканя весь файл и не выгружая его в память?

Mstislav
19.06.2018
07:40:01
Судя по всему только если вы знаете конкретную позицию в файле. С помощью https://golang.org/pkg/io/#Seeker

Eldar
19.06.2018
07:40:02
глазами

Alexandr
19.06.2018
07:41:20

Fastumkruk ✅
19.06.2018
09:23:04

stixlink
19.06.2018
10:59:52
Как можно в темплейтере гошном, отдать js чтоб он не экранировал его?

Aleksandr
19.06.2018
11:00:31
в гугле спроси

stixlink
19.06.2018
11:02:31
Он говорит у гоферов спроси

Aleksandr
19.06.2018
11:02:58

stixlink
19.06.2018
11:04:41
Спасибо, нашёл в гугле гоферов которые помогли)