Maxim
также вынеси в отдельную переменную widget.newlabel, а по кнопке его меняй.
Семён
Семён
Сделал так в итоге
Семён
Работает
Maxim
Работает
Да, похожий биндинг, я предлаегал от интерфейса к переменной, у тебя от переменной к интерфейсу, впринципе как удобно.
der ðiβüśüɾę
Всем, привет и с вами я Хантер888337666.
der ðiβüśüɾę
Никто не знает как проверить os.Args[1] на значение "--help"?
Maxim
Emil
Во, флаги это норм тема
der ðiβüśüɾę
Либа какая чтоль?
Maxim
Вариант 2:
for i, arg := range os.Args {
if arg == "--help" {
fmt.Println("Help Me!")
}
}
der ðiβüśüɾę
Спасибо!
der ðiβüśüɾę
Maxim
Спасибо!
А так, позже посмотри на https://github.com/spf13/cobra
Maxim
der ðiβüśüɾę
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!")
}
}
der ðiβüśüɾę
Maxim
Типа "и так же"
если -h, иди выполняй код ниже без проверки, далее следующий.
der ðiβüśüɾę
Maxim
если -help, то иди далее и выполняй и т.д.
Emil
Falltrough
В отличии от других языков, в го для свитча не надо указывать брейки, но надо падение в нижние варианты
der ðiβüśüɾę
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
der ðiβüśüɾę
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 - то ничего не вернется
почему так?
der ðiβüśüɾę
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
перспектив мало