David
чтобы обмазаться типизацией
Зато не нужно конвертацию делать на каждый чих))
Ron Mount
а почему в го не работает str(tuple(list(map(int, input().split())))) че за тупой язык
David
вот би била питон4 конпилируемый, я бы свичнулся даже
Думал об этом, это была бы киллер фича. Такой есть, но популярен только в узких кругах.
Emin Zalaev
)) топчик сёдня
Оффтопчик
Ron Mount
Думал об этом, это была бы киллер фича. Такой есть, но популярен только в узких кругах.
ну очевидно должен стать cpython компилируемым, чтобы этим можно было пользоваться
Илья
Оффтопчик
админ кайфует
Emin Zalaev
Бан
Юра (Юрий Александрович)
И тем не менее string(int('d')) он не гнушится скомпилировать))
Потому что 'd' - это одиночный символ, у которого есть unicode-код. И документация на функцию int() четко прописывает именно такое поведение этой функции.
Emin Zalaev
Напердели питоном несите вентилятор
Ron Mount
но вентилятор гоняет по кругу один и тот же воздух
Юра (Юрий Александрович)
И тем не менее string(int('d')) он не гнушится скомпилировать))
А вот string(int("d")) (с двойными кавычками) он уже не скомпилирует
Ron Mount
вызывайте хаудихошников-водолазов
Victor
Вот еще по строкам вдогонку :) Руна или байт.
Ron Mount
это база
David
Вот еще по строкам вдогонку :) Руна или байт.
Так, стоп, еще и range с циклом не экиваленты, вот это поворот)))
Ron Mount
эквивалентны, если предварительно строку скастить к массиву рун, чё и делает ренж
Егор
так range возвращает еще индекс байта, который является началом руны)
Егор
то есть для ascii будет все одинаково, кроме типа значения, а для русских символов - индекс через один будет идти
Ron Mount
кринж)
Ron Mount
тут у голанга полное сосалово по работе со строками, если смотреть с питонячей колокольни
Ron Mount
хорошо что жсоноукладчики просто эти строки кладут куда надо, а не парсят их посимвольно
David
то есть для ascii будет все одинаково, кроме типа значения, а для русских символов - индекс через один будет идти
Так а почему нельзя использовать размер байта, который покроет необходимый даапазон языка (юникода) и не прыгать с индексами?
Tossadar
я нашел.
Что нашёл
David
Пайтон тоже не идеален, но у него проблемы совсем другого сорта
David
В плане по умолчанию представлять строку в виде среза рун?
Про срез рун не понял. Что-бы массив, по которому идет итерация был uint64 например
Юра (Юрий Александрович)
Что нашёл
Нужную к тому моменту фразу.
Егор
Про срез рун не понял. Что-бы массив, по которому идет итерация был uint64 например
Я пока гожусь только на любителя го. Но думаю, что в таком случае будет использоваться много лишней памяти. Да и считывать и отдавать строки, которые представлены массивом байт - проще
David
Все вышесказанное блекнет и меркнет в стравнении с тем, что int это int, а str это string. Вот это рекально вызывает у меня Когнитивный диссонанс. Либо int, str, либо integet, string, но почему блин микс?!
Emin Zalaev
Ladno
David
У вас ригидность. С ригидностью в программисты нельзя.
Так, пайтон программированием признали, уже хорошо.
Emin Zalaev
Integet
David
int это int32 или 64
А чер знает, после пайтона за производительность вообще не паришься, она даже в худшем случа в 10 раз выше.
Emin Zalaev
Anonymous
Bro please dont say bad words. My mum checks my phone.
Илья
and mum
and dads (py dev moment)
Emin Zalaev
With his mom ill have private conversation
Anonymous
Emin Zalaev
Anonymous
Average arch user
Илья
Average arch user
shut up, linux hater (sorry for my rudeness)
Anonymous
🛑
Emin Zalaev
I use sex
Anonymous
I use sex
I use nil interface
Emin Zalaev
trahat OS
Emin Zalaev
Самолет через 5 часов
Илья
I use nil interface
var a interface{} 1) b := a.(int) 2) b, _ := a.(int) что запаникует?
Anonymous
Что за второе значение?)
Илья
ok
Илья
привело или нет
Anonymous
Emin Zalaev
Nikita
а что значит такая запись структры - struct{}{} ? Это типа инциализация пустой структуры ? Есть код из примера: func say(done chan<- struct{}, id int, phrase string) { for _, word := range strings.Fields(phrase) { fmt.Printf("Worker #%d says: %s...\n", id, word) dur := time.Duration(rand.Intn(100)) * time.Millisecond time.Sleep(dur) } done <- struct{}{} // (1) } func main() { phrases := []string{ "go is awesome", "cats are cute", "rain is wet", "channels are hard", "floor is lava", } done := make(chan struct{}) // (2) for idx, phrase := range phrases { go say(done, idx+1, phrase) // (3) } // wait for goroutines to finish for i := 0; i < len(phrases); i++ { // (4) <-done } На сколько я понимаю, пустую структуру кладут в done канал, чтобы в нем хоть, что-то было… но почему именно структуру? Есть какие-то обрывки памяти, мол слышал что она ничего не весит?
Serejka
Пустая структура ничего не весит
Serejka
Поэтому ее кладут
Denis Pershin
Кладут не для того, чтобы что то было, а для того чтобы разблокировать поток
Евгений
всем привет а вот как подключить header и footer вроде правильно все делаю а не фига не отрабатывает t, err := template.ParseFiles("templates/index.html", "templates/header.html", "templates/footer.html") в header.html {{define "header"}} {{end}} тоже самое футер , когда один файл index.html подключаю все отрабатывает
Bogdan
Ребят, всем привет. Получаю json по эндпоинту /film(на создание). При отправке json через постман ловлю такую ошибку. Может кто сталкивался?
Bogdan
type Movie struct{ //sync.Mutex Id int `json:"id"` Title string `json:"title"` ReleaseDate time.Time `json:"releaseDate" form:"releaseDate" time_format:"2006-01-02T15:04:05Z07:00"` CreatedAt time.Time `json:"created_at"` }
Bogdan
func(h *Handler) Create(c *gin.Context) { var movie model.Movie err := c.ShouldBind(&movie) fmt.Println(movie) if err != nil { log.Fatalf("Error during binding movie, %s",err) } id, err := h.Service.CreateMovie(movie) if err != nil { return } c.JSON(http.StatusOK, map[string]string{ "id": id, }) }
Bogdan
Структура + хэндлер. Вдруг кто решит помочь, кхэ
Andrey
а какой сырой json ты отправляешь?
Bogdan
а какой сырой json ты отправляешь?
{ "title": "La casa de papel", "releaseDate": "2006-01-02T15:04:05Z07:00" }
Andrey
{ "title": "La casa de papel", "releaseDate": "2006-01-02T15:04:05Z07:00" }
ты не можешь так "в лоб" делать маршал строки в которой есть время. у тебя 2 решения: принимать как строку, и конвертить во время (те записать в приватное поле где именно формат time.time), или же написать интерфейс для унмаршалера твоего формата (приме тут)