
Aleksandr
29.09.2017
18:58:51
что не понятно?

Ivan
29.09.2017
18:58:52

Мерлин
29.09.2017
18:59:01

Aleksandr
29.09.2017
18:59:02
использовать так же как используешь int

Google

Aleksandr
29.09.2017
19:00:00

Мерлин
29.09.2017
19:00:13
что угодно может быть ошибкой
видимо так

Aleksandr
29.09.2017
19:00:46
а он говорил дескать метод может быть в интерфейсе.
что-то не сходится
но меня осеняет: может быть он имел в виду в общем - как использовать метод С ТЕЛОМ в интерфейсе?)

Мерлин
29.09.2017
19:01:21
ну, error определён вот так:
type error interface {
Error() string
}

Aleksandr
29.09.2017
19:01:24
ответ никак

BlastPy
29.09.2017
19:02:00
// The error built-in interface type is the conventional interface for
// representing an error condition, with the nil value representing no error.
type error interface {
Error() string
}

Aleksandr
29.09.2017
19:02:02
@zelsky дорогой наш человек, не молчи. пятница

BlastPy
29.09.2017
19:02:15
отсюда

Aleksandr
29.09.2017
19:02:23

Google

Aleksandr
29.09.2017
19:02:43
это интерфейс. у него есть реализации

BlastPy
29.09.2017
19:02:53
я не понимаю как с ним обрабатывать ошибки

Aleksandr
29.09.2017
19:03:21
if err != nil { ... }

BlastPy
29.09.2017
19:03:53
только такой
type MyError struct {
Msg string
File string
Line int
}
func (e *MyError) Error() string {
return fmt.Sprintf("%s:%d: %s", e.File, e.Line, e.Msg)

Aleksandr
29.09.2017
19:04:25

ainu
29.09.2017
19:05:24
Как правильно?
/api/users/edit/1 – 11
??????? 85%
/api/edit/users/1 – 1
? 8%
Единая Россия – 1
? 8%
? 13 people voted so far.

Aleksandr
29.09.2017
19:06:04

BlastPy
29.09.2017
19:06:22
честно уже ничего не хочу

Aleksandr
29.09.2017
19:06:40
интерфейс не описывает поля. поэтому ты либо возвращаешь не error, а MyError, или не обрабатываешь поля

Pawel
29.09.2017
19:08:23

BlastPy
29.09.2017
19:09:52
/api/users/edit/
а почему userS а не user или лишний хендлер ?
интересно просто

Irina
29.09.2017
19:11:21
А почему не PUT/PATCH api/users/1 ?

Мерлин
29.09.2017
19:15:01

ainu
29.09.2017
19:17:16

Aleksandr
29.09.2017
19:17:57
таблицу принято в ед. числе называть. эндпойнты апи во множественном

ainu
29.09.2017
19:18:10

Lanegan
29.09.2017
19:18:19

BlastPy
29.09.2017
19:18:20

Alexander
29.09.2017
19:18:56

Google

ainu
29.09.2017
19:20:00

Lanegan
29.09.2017
19:24:46
почему ?
Да ну было начал автоматизировать, словил гемора по дороге. Как-то не зашел, или может я чего не всосал

Олег
29.09.2017
19:34:22

Aleksandr
29.09.2017
20:24:09
Hello gophers,
We plan to issue Go 1.8.4 and Go 1.9.1 on Wednesday, October 4 at approximately 8pm UTC.
These are minor releases to fix a security issue.

Max
29.09.2017
20:26:27
когда там 2.0?

Aleksandr
29.09.2017
20:31:53
когда начнут?

Nik
29.09.2017
20:38:38

Daniel
29.09.2017
20:43:26
а на мне - так и вовсе паламалась

Slava
29.09.2017
20:43:49
во, мы как раз на 1.8 переходим

Nik
29.09.2017
20:44:32
А то прям не возомжно

Мерлин
29.09.2017
20:48:19

Daniel
29.09.2017
20:49:40

Мерлин
29.09.2017
20:51:19
Надо будет связаться с другими участниками и попросить их

Daniel
29.09.2017
20:55:13
Это когда мы начинаем передавать interface{} и интенсивно использовать type switch
Пишем динамический язык...

Мерлин
29.09.2017
20:57:11
Ну да, такое
Хотя я бы typeswitch не ругал, ошибки им проверять хорошо и зело приятно, имхо

Vladimir
29.09.2017
21:04:59

Google

Daniel
29.09.2017
21:14:05
Стандарт-с

Vladimir
29.09.2017
21:27:12

Nick
29.09.2017
21:32:04
@Civiloid протобаф в некоторых ситуациях не очень гибкий)

?FLERRY?
30.09.2017
06:28:58
Ребят, слушайте. Вот я сижу такой, смотрю на количество звёзд моих на гитхабе - много. Подумал, надо бы почистить. Но. Для чего вообще эти звезды нужны: для того, чтобы использовать их как закладки или же для того, чтобы использовать их как лайки?

BlastPy
30.09.2017
06:34:07
как заклади используют форк

?FLERRY?
30.09.2017
06:34:21
Понял, спасибо

Aleksandr
30.09.2017
06:58:02
Кто как

Aleksandr
30.09.2017
07:09:04

Mikhail
30.09.2017
15:50:30

Daniel
30.09.2017
15:55:08
есть подозрение, что то была шуточка

Alex
30.09.2017
15:57:37

Mikhail
30.09.2017
15:58:34

Nick
30.09.2017
15:58:58
Вообще не должно быть edit
Эт post

ainu
30.09.2017
16:00:36
Эт post
Тут не про rest. Вместо edit может быть approve или setoption, а вместо users - products

Nick
30.09.2017
16:02:00
Тут уже говорили - grpc)

Alex
30.09.2017
16:14:19
Смотря чего больше: действий или обьектов

Maxim
30.09.2017
17:33:33
https://go-tour-ru-ru.appspot.com/methods/17
package main
import "fmt"
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}
func main() {
a := Person{"Arthur Dent", 42}
z := Person{"Zaphod Beeblebrox", 9001}
fmt.Println(a, z)
}

Google

Maxim
30.09.2017
17:34:31
Когда я нажимаю run - для каждой структуры вызывается метод String()
Как это работает???
Метод явно не вызывается, но выполняется

Daniel
30.09.2017
17:35:00
Это магия
Я серьезно

Maxim
30.09.2017
17:35:27
я так и увидел

Daniel
30.09.2017
17:35:32
Именно для String()

Maxim
30.09.2017
17:35:34
но как это объяснить?

Daniel
30.09.2017
17:35:39
Никак
Но в яве со стрингом та же херня

Maxim
30.09.2017
17:38:07
это похоже на магический метод в php "__toString()"
Возможно где-то в Go есть перечень подобного волшебства??? Или это только для метода String() у структур?

Vasily Romanov
30.09.2017
17:40:29
внтури println смотрится что если то что приходит можно скастовать к интерфесу stringer - то дёргается метод String

Igor
30.09.2017
17:41:21
Всё что имеет interface Stringer работает на принты без всякой магии, стандартный подход.

Vasily Romanov
30.09.2017
17:42:05
можно написать подобную функцию, которая будет например не к стрингеру приводить, а к абракадабра