Илья: Разница в том, что парсить можно одним запросом, и ты получаешь расфасованный JSON: вот тебе "title", а вот тебе "content", в случае с html, нужно заморачиваться с регулярками или DOM, также при смене верстки парсер сломается.
axeax: тогда вопрос встречный: как вставка тега script может влиять на поведение clear, ведь обращение идет к каждому n-ному .product. Тег script вообще визуально отсутствует на странице.
Ярослав Иванов: в цикле все вставляется.. есть цикл smarty {foreach $products as $p} и внутри него просто пишу . Это на стороне сервера, в готов html просто появляется тег
Не понял вашего вопроса. Затем, чтобы в Analytics передать данные через JS. Вы предлагаете server-side решение данного вопроса? Или вы хотите сказать, что inline-script не выполняется браузером? Там же есть ga(); вызов функции. Он и выполняется. Продолжите ваш ответ, пожалуйста, а то я не понял что вы имеете ввиду.
Александр: куда добавится ещё один массив? Если он рядом, то главное чтобы в нем был amount. Если вы обернете в другой массив - все отвалится. Покажите все возможные вариации и получите ответ.
evnuh: благодарю, уяснил этот момент, хоть и пока не ясна цель почему так сделали. Пока запишу у себя в голове как особенность языка, может в дальнейшем на практике отмечу, что это удобно.
evnuh: правильно ли я понял, что в моей задаче, где-то внутри пакета fmt метод использует не &IPAddr, а просто IPAddr, отсюда и выходит, что доступ к методу IPAddr.String() отсутствует, ведь метод создан для указателя IPAddr? Тогда вопрос, почему в вашем комментарии выше написано: `The compiler will rewrite that to (&b).Write for us.`? Или в контексте интерфейса, все-же, `compliler will not rewrite`? Ещё почитаю сегодня статьи на эту тему. Реально не понятна практическая сторона вопроса: зачем?! Запутать у них отлично получилось.
evnuh: Спасибо большое за ответы и разъяснения, но ... все равно не совсем понятно, почему так происходит. Прочитал это jordanorelli.com/post/32665860244/how-to-use-inter... и на stackoverflow нашел почти аналогичный вопрос, но все равно чувствую, что в следующий раз наступлю на эти грабли.
Допустим, если открыть песочницу из моего вопроса и посмотреть на строку 18, там где идет вывод ключа и значения. Что дальше происходит? Мы имеем два разных значения, но у них одинаковый тип — IPAddr. Если я хочу взять значения лежащие в каком-то определенном IPAddr, то я могу обратиться к (утрировано) ячейке памяти, где лежит этот самый определенный IPAddr и прочесть все его i[0], i[1], i[2] ... etc. Мне не нужно копировать эти значения (зачем копировать, если я просто хочу их прочесть), но и менять я их не собираюсь, я просто хочу прочесть из определенного объекта, от которого я вызываю метод, вот так.... IPAddr.String()... и вот, собственно, какая беда: идеалогически все срабатывает как я и хочу - https://play.golang.org/p/6aQ2CAKLTi
А вот почему с интерфейсом такое не прокатывает, все равно не доходит.
Какой строчкой происходит реализация интерфейса? Допустим в PHP и ООП, это class A implements B, здесь в Go это происходит не явно? После этого, ответьте, пожалуйста, если я создаю метод для типа, а в качестве типа указываю указатель на него, получается, что значения не копируются, а обращение идет на прямую (как бы к объекту)? Вот вырезка из Go Play: There are two reasons to use a pointer receiver.
The first is so that the method can modify the value that its receiver points to.
The second is to avoid copying the value on each method call. This can be more efficient if the receiver is a large struct, for example.
Root_men: у вас фреймворк значение в базу сам передает TimeStamp/DateTime или в запросе просто NOW();? У вас короче проблема с тем, что в базу поступает не то, что нужно. Смотрите вашу модель и запросы к базе.
Михаил Усоцкий: сам свисток находится в соседнем порту USB, т.е. 1 см. Проблема частично решилась после выкручивания всех винтов из корпуса клавиатуры, видимо её перестало "выгибать", и она заработала нормально. По крайней мере, более я такой проблемы не замечал.