Alexander
Пусть ошибку проверяет, нефиг
der ðiβüśüɾę
der ðiβüśüɾę
Но var heightOfPass int = strconv.Atoi(os.Args[1]) не работает
der ðiβüśüɾę
Почему?
Alexander
Потому что 2 значения возвращает
der ðiβüśüɾę
Ну да
der ðiβüśüɾę
А почему 2?
Alexander
Потому что может произойти ошибка
der ðiβüśüɾę
Т.е. надо err обробатывать?..
Alexander
Да
der ðiβüśüɾę
Я новенький в go, кстати. И не могли бы Вы подсказать, как обрабатывать ошибку на понятном языке. Просто я с плюсов пришёл)
Alexander
1. Если для себя пишешь или оно в мейне, то можешь просто:
if err != nil{
panic(err)
}
der ðiβüśüɾę
Alexander
2. Иначе твоя функция/метод должны также возвращать и ошибку помимо основного значения. Основное значение считается невалидным, если err != nil
der ðiβüśüɾę
А можно же _, как сказал Максим
Alexander
дальше уже на более высоких уровнях проверяешь и вываливаешь на самом высоком юзеру
der ðiβüśüɾę
Alexander
ну можно, потом гадай где у тебя ошибка при таком методе написания кода ;)
der ðiβüśüɾę
heightOfPass, _ := strconv.Atoi(os.Args[1]) выводят
1
B
der ðiβüśüɾę
Хм..
der ðiβüśüɾę
Почему?
Maks
а какие аргументы запуска?
der ðiβüśüɾę
1
der ðiβüśüɾę
Maks
покажи листинг кода
der ðiβüśüɾę
der ðiβüśüɾę
Maks
ну код
Maks
весь
der ðiβüśüɾę
А, хорошо
der ðiβüśüɾę
package main
import (
"fmt"
"math/rand"
"os"
"strconv"
)
func RandomString(n int) string {
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
s := make([]rune, n)
for i := range s {
s[i] = letters[rand.Intn(len(letters))]
}
return string(s)
}
func main() {
//args := os.Args[1]
//fmt.Println(args)
heightOfPass, _ := strconv.Atoi(os.Args[1])
fmt.Println(heightOfPass)
fmt.Println(RandomString(heightOfPass))
}
der ðiβüśüɾę
Немного, поэтому так
Maks
ну так а в чем тогда твой вопрос?) Почему так
Maks
Ты запускаешь программу, передаешь ей аргументы, еденицу
Maks
он выводит ее
Maks
потом выводит значение которое возвращает твоя функция рандом стринг
Maks
ты какой вывод ожидаешь?
der ðiβüśüɾę
der ðiβüśüɾę
Кхе, собрал приложение... Вот такое вижу..
Maks
у тебя там значит функция сортировки не правильно работает
der ðiβüśüɾę
Скорее всего
Maks
там кстати цикл можно написать for n > 0 {
s[le(s)-n] = рандомный символ)
n--
}
der ðiβüśüɾę
Я понял что это "говнокод" и есть пакет math/rand
Maks
да, с ним разберись
Maks
там есть наглядный пример вроде как рандом получить
A
Всем доброго времени суток, у меня вот такой вопрос зародился в котелке.
A
Допустим выучу я го(он сравнительно легок, + все таки относится к си-подобным языкам, что тоже радует. Где работать? Вебсайты кляпать не люблю.(на html с css аллергия, хоть код и читаю).
Maks
Веб сервисы и бэкенд
Maks
Ну или консольные прилы
Maks
Докер например
Maks
Демон докера это сервер, cli шлет запросы в локалхост на нужный порт)
A
Ок, буду учить докер и кубернетис, спасибо
Emil
Мне кажется, это был посыл не к тому, но докер в любом случае полезный
...
Пойду смотреть код докера)
У клиента докера есть докерфайл отказывается
der ðiβüśüɾę
Ещё раз привет, решил покрасноглазить и скомпилировать файл .go из-под android ( termux ) в .exe. Как это возможно сделать?
Maks
Флаги компиляции мейби но я не уверен, я не гошник)
🔥
der ðiβüśüɾę
🔥
der ðiβüśüɾę
windows
У двух переменных?
🔥
У двух переменных?
Чтоб список посмотреть вот команда
go tool dist list | column -c 75 | column -t
🔥
У двух переменных?
$GOOS $GOARCH
aix ppc64
android 386
android amd64
android arm
android arm64
darwin amd64
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
illumos amd64
ios arm64
js wasm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
linux riscv64
linux s390x
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
openbsd arm
openbsd arm64
plan9 386
plan9 amd64
plan9 arm
solaris amd64
windows 386
windows amd64
windows arm
windows arm64
der ðiβüśüɾę
🔥
der ðiβüśüɾę
Или в обеих переменных windows/386?
der ðiβüśüɾę
der ðiβüśüɾę
Урааа, сработало
der ðiβüśüɾę
И ещё раз всем привет. Тут возникла трудность: как приделать таймер ( секундомер ), чтобы он считал за сколько программа выполнилась, желательно в секундах и миллисекундах.
Maxim
Maxim
Примерная конструкция
Emil
Что-то:=time.now() в начале и потом time.since(что-то).seconds()
В последнем не уверен, на угад, только секунды покажет наверное
der ðiβüśüɾę
Хм.. Никто не знает, как проверять есть ли в os.Args элемент 1? Попытался сделать
if os.Args[1] = NULL{
fmt.Println("Where is arg[1]")
panic(err)
}
Но не работает(
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Alexander
len(os.Args)
🔥