Slava
но это работает дюже медленно
Slava
особенно на моих метриках с десятками тысячями тегов по cluster_id
Cat
как создать массив массивов из дефолтных значений?
Cat
например, [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Daniel
как создать массив массивов из дефолтных значений?
массив массивов или слайс слайсов?
Cat
это сложный вопрос
Cat
по итогу мне нужно вернуть [][]int
Cat
а перед этим заполнить в цикле через matrix[i][j] = value
Cat
это массив массивов или слайс слайсов?
Cat
(размер матрицы известен только в рантайме)
Daniel
массив в го используется довольно редко.
Cat
хорошо, тогда slice of slices, мне название не принципиально
Daniel
дело не в названии
Cat
спасибо, очень помогли
Daniel
вам мог бы оказаться нужен именно массив. для массива, к примеру, определена операция ==, а для слайса нет
Cat
да, это я уже кстати выяснил
Daniel
массив может поэтому быть ключом к мапе, а слай с нет
Denis
1 2 3 | 4 - на вставку 2 3 4 <- результирующий слайс (len = 3; cap = 3)
https://play.golang.org/p/6Dk-GeJ4wB9 сорри за говнокод. наверное в твоем конкретном случае действительно проще сделать то что ребята советовали, просто вручную сдвигать
Daniel
например, [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
https://play.golang.org/p/EX8dmm8q5QV
Cat
t.me/gogolang/114219
Daniel
а тогда о каких дефолтных значениях мы говорим?
Cat
я всё равно их все перепишу
Cat
короче я понял, только так pic := make([][]uint8, dy) for i := range pic { pic[i] = make([]uint8, dx) for j := range pic[i] { pic[i][j] = uint8((i+j)/2) } }
Daniel
ну а как еще
Cat
make([]make([]int, 10), 10)
Dmitry
Dmitry
это опять я с вопросами про архитектора ПО
Dmitry
счас Го какую нишу занимает - и соответствен окакого плана требуется архитектор для него?
Dmitry
дизайн на уровне микросервисов и апи ?
Michael
что угодно, хотя изначально вроде софт завязанный на сеть докер, кубернитес, кокроач дб, биндинги Qt, кот. под ведро можно собрать, активно пилят
Michael
traefik отакое пилят, судя по тикетам в гитхабе челы пилят аля ETL для обработки науч данных
Michail
никто не сталкивался с client-go либой для работы с kubernetes - https://stackoverflow.com/questions/50784830/fail-to-connect-to-kubectl-from-client-go-serviceaccount-token-no-such-file ?
Anonymous
что-то странное.
Alexander
Что флаг -race?
Paul
я вот пока не могу понять как указать, чтобы входные данные сверялись постоянно с массивом
Anonymous
я вот пока не могу понять как указать, чтобы входные данные сверялись постоянно с массивом
Возможно, стоит сначала сгенерить этот массив (или просто руками забить) ?
Paul
что-то по типу var fib = []int{0, 1, 1, 2, 3, 5, 8, 13, 21, 34} и чтобы всё время сверялось с fib[3], fib[4]
Alexander
я вот пока не могу понять как указать, чтобы входные данные сверялись постоянно с массивом
Ага, заранее посчитаете какое-то количество членов последовательности. А какое? А если я введу сто миллионный член последовательности?
Anonymous
Я так понимаю, что задача в том чтобы с пеового элемента вводить, а не с абы какого
Daniel
коллеги, ну это же не про go все вообще.
Paul
ну, это конкретная задача для го
Daniel
давайте топикстартер нарисует нам алгоритм, хоть блоксхемой, хоть на "естественном" языке, а потом мы будем это обсуждать
Daniel
именно эта задача будет практически одинаково решена на любом языке
Michael
нет времени блок схему рисовать, сейчас спою (тм)
Daniel
и обычно затык тут как раз в том, что алгоритм кажется очевидным, а он - нет
Paul
Поочередно предлагать пользователю ввести через терминал последовательность чисел Фибоначчи. Завершить выполнение после 10ти правильных ответов подряд или 3х допущенных ошибок. схема: массив = {10 первых чисел фибоначчи} пользовательский ввод(массив) = пустой массив функция ( цикл фор инкремент=0; инкремент <= пользовательский ввод[n+1]; инкремент++ ( юзер инпут сохраняем в пользовательский ввод(массив) и сравниваем индексы с "массив" условие иф юзер инпут не число = ошибка условие иф юзер инпут != нужному числу - ошибка и ещё вводим тут ещё один инкремент, чтобы оборвать программу после 3 ошибок ) )
Paul
Enter a number 0 Молодец [0 0 0 0 0 0 0 0 0 0] Enter a number not a number [0 0 0 0 0 0 0 0 0 0]
Paul
я ввожу всего 1 раз 0
Daniel
тут у нас тоже есть такой набор? массив из 10 чисел?
Paul
я ломаюсь на первом же слове. "поочередно" - это когда у нас есть набор элементов и мы его обрабатываем один элемент за другим.
программа на Go, которая будет поочередно предлагать пользователю ввести через терминал последовательность чисел Фибоначчи (начиная с 0).
Daniel
ну и где проблема?
Paul
он обрабатывает запрос по два раза сейчас почему-то
Daniel
кто - он?
Paul
код, который запускаю https://pastebin.com/7kZ4jHCD
Anonymous
Paul
моя вина, в жетбрейнс голанде всё отлично отработало, а в командной строке - нет
Anonymous
вот только в коде не учтено обработка того что происходит если чувак будет вводить не-цифры
Paul
а как ты этого добился? )
в смысле? ну, я в там запустил файл просто
Daniel
так не бывает
Paul
значит я что-то не правильно делал
Paul
вот только в коде не учтено обработка того что происходит если чувак будет вводить не-цифры
я хочу это исправить, чтобы если пользователь допустил ошибку или к примеру прошло несколько секунд программма вывела сама текущее число
Paul
мне необходимо это кусок обработать? timer1 := time.NewTimer(time.Second * 2) _, err := fmt.Scanf("%d", &i1[i]) if err != nil { fmt.Println("not a number") } вот я добавляю таймер, а как мне включить его в условие ошибки?
Paul
смотря что конкретно ты хочешь. Может, как-то так? time.AfterFunc(1*time.Second, func() { os.Exit(1) })
Ну вот если пользователь допустил ошибку или не ввел число в течении N секунд, программа сама будет выводить текущее число и его порядковый номер и пользователь продолжает последовательность со следующего.
Paul
в жсоне
Anonymous
в жсоне
мэн, ты что, на ходу это придумываешь?
Paul
мэн, ты что, на ходу это придумываешь?
Нет, просто разбил на подпункты, чтобы проще было осилить)
Anonymous
давай сразу ТЗ 😂
Michael
и бюджет огласите