Maxim
также вынеси в отдельную переменную widget.newlabel, а по кнопке его меняй.
Maxim
привет юзаю щас либу fyneне могу получить значения из функции, которая вызывается по нажатию на кнопку, чтобы отобразить полученные там значения
во fyne есть bind, очень удобная штука. поробуй выше сделать так, под var: accWidget := widget.NewLabel("") accWidget.Bind(acc) Далее acc:= меняешь на acc = и делаешь accWidget.Refresh() после, вместо widget.NewLabel(acc), вставляешь accWidget
Семён
Семён
Сделал так в итоге
Семён
Работает
Maxim
Работает
Да, похожий биндинг, я предлаегал от интерфейса к переменной, у тебя от переменной к интерфейсу, впринципе как удобно.
der ðiβüśüɾę
Всем, привет и с вами я Хантер888337666.
der ðiβüśüɾę
Никто не знает как проверить os.Args[1] на значение "--help"?
der ðiβüśüɾę
может начать пользоваться flags ?)
Что за flags? ( Я просто новичок )
Emil
Во, флаги это норм тема
der ðiβüśüɾę
Либа какая чтоль?
Maxim
Либа какая чтоль?
https://gobyexample.com/command-line-flags
Maxim
Вариант 2: for i, arg := range os.Args { if arg == "--help" { fmt.Println("Help Me!") } }
der ðiβüśüɾę
Спасибо!
der ðiβüśüɾę
Вариант 2: for i, arg := range os.Args { if arg == "--help" { fmt.Println("Help Me!") } }
А если я хочу проверить сразу на много значений то как? E.x. на "help" "-h" "help"
Maxim
Спасибо!
А так, позже посмотри на https://github.com/spf13/cobra
der ðiβüśüɾę
Лучше switch + case + fallthrough
Последнее не понял
der ðiβüśüɾę
Falltrough
der ðiβüśüɾę
Что это?
Maxim
Что это?
for i, arg := range os.Args { switch arg { case "-h": fallthrough case "-help": fallthrough case "--help": fmt.Println("Help me!") } }
Maxim
Типа "и так же"
если -h, иди выполняй код ниже без проверки, далее следующий.
Maxim
если -help, то иди далее и выполняй и т.д.
Emil
Falltrough
В отличии от других языков, в го для свитча не надо указывать брейки, но надо падение в нижние варианты
Maxim
Хмм... Крутая фича!
Ну выглядит не сахар. например, как в других, но жить можно.
der ðiβüśüɾę
Это же проще?
Emil
Это как минимум логичнее Хотя наверное на вкус и цвет
Maxim
for _, arg := range os.Args { switch arg { case "-h", "-help","--help": fmt.Println("Help me!") } }
Maxim
что-то я на мудрил с верхним решением
der ðiβüśüɾę
А вот
der ðiβüśüɾę
Falltrough тогда "говнокод"))))
der ðiβüśüɾę
./gen.go:37:9: cannot use "-h" (type untyped string) as type int ./gen.go:37:9: cannot use "help" (type untyped string) as type int ./gen.go:37:9: cannot use "--help" (type untyped string) as type int
Maxim
Не работает...
код пришли
der ðiβüśüɾę
код пришли
package main import ( "fmt" "math/rand" "time" "strconv" "os" ) var pool = "abcdefghijklmnopqrstuvwxyzABCEFGHIJKLMNOPQRSTUVWXYZ:|?$%@][{}#&/()*" func randomString(l int) string { bytes := make([]byte, l) for i := 0; i < l; i++ { bytes[i] = pool[rand.Intn(len(pool))] } return string(bytes) } func main() { // if len(os.Args) == 1{ // fmt.Println("Where is arg[1]") // } heightOfPass, err := strconv.Atoi(os.Args[1]) if err != nil { fmt.Println("No bananas") panic(err) } for arg := range os.Args{ switch arg { case "-h", "help", "--help": fmt.Println("Ok... I can help you...") fmt.Println("Usage: (./)gen(-64(.exe)) {passLen}") } } rand.Seed(time.Now().UnixNano()) fmt.Println(randomString(heightOfPass)) }
der ðiβüśüɾę
Многовато...
der ðiβüśüɾę
Эх.. Надо было на pastebin...
Maxim
for _, arg :=
der ðiβüśüɾę
Да, вот
Maxim
for arg = индекс, а нужен ли тебе индекс, если нет, то _, arg :=
der ðiβüśüɾę
Благодарю за помощь!
Maxim
os.Args - тип []String, т.е. for i, arg - в i идет индекс массива, в arg значение строки
Anonymous
всем привет. пытаюсь реализовать бинарный поиск, но есть одно но все прекрасно работает до тех пор, пока не будет введен первый элемент слайса (или же нулевой индекс). что я имею ввиду slice = [1, 2, 3, 4] если ввести 2 - то вернется 1 индекс если ввести 1 - то ничего не вернется почему так?
Ivan
всем привет. пытаюсь реализовать бинарный поиск, но есть одно но все прекрасно работает до тех пор, пока не будет введен первый элемент слайса (или же нулевой индекс). что я имею ввиду slice = [1, 2, 3, 4] если ввести 2 - то вернется 1 индекс если ввести 1 - то ничего не вернется почему так?
1. В бинарном поиске mid должен вычисляться так mid := len(slice) / 2 2. Должна браться левая либо правая половина слайса (если результат не найден) и повторятся процедура 3. сейчас оно работает по случайному обстоятельству можно к примеру попробовать на таком слайсе var intSlice = []int{7, 10, 40, 41, 99, 120, 1024}
Anonymous
Хм.. По моему слайс начинается с нуля, нет?
скорее всего дело именно в этом. бп - подразумевает работу с массивом, а не со слайсом
Anonymous
ну так
Anonymous
выполнять цикл до тех пор, пока первое значение меньше или равно последнему
Anonymous
чтобы вы понимали мой уровень в го
Anonymous
вчера только начал :)
Anonymous
если скажете как лучше реализовать, я буду рад
Anonymous
сек
Anonymous
не понял?
Anonymous
он будет бесконечным
Anonymous
та как нет никаких итераций
Anonymous
это я понял, но условия какие?
Anonymous
мы же говорим про условие пока первое значение меньше последнего?
Anonymous
если да, то он будет выполняться бесконечно
Anonymous
нет ничего что могло бы первое значение увеличить
Anonymous
григорий
Anonymous
вы меня троллите?
Anonymous
а,нет
Anonymous
мне кажется я понял
Anonymous
firstValue = 0
Anonymous
так?
Anonymous
лол, я сделал
Anonymous
спасибо, григорий
Anonymous
моя ошибка была в том, что я зачем-то присвоил firstValue = первый элемент слайса
Anonymous
а надо нулевое значение
Anonymous
есть те кто работают прогерами на том же самом го
Anonymous
что учить? как проходит собес?
Anonymous
я только первый курс, до этого чистый си ботал
Anonymous
где брать опыт(стажировку) и как попасть в компании для стажировки?
Anonymous
скажу так
Anonymous
перспектив мало