Doublegrey
я просто не понимаю
Nikita
покажи echo $PATH $GOPATH $GOROOT
Doublegrey
Nikita
А в директории, где есть го, сделай whereis go
Doublegrey
Sergey
ну вот у тебя даже горут не вывел
Doublegrey
вот именно
Sergey
дак внеси в файл
Doublegrey
щас
Sergey
я вот не знаю как правильнее в пользовательские вносить или системные
Nikita
Ну у тебя go установлен в какую-то директорию /snap, но /snap/bin нет в PATH
Doublegrey
Doublegrey
сделал
Doublegrey
Sergey
и в path добавь путь до го
Nikita
Я бы не рекомендовал ~/.bashrc редактировать от sudo :)
Sergey
почему?
потому что пользовательский конфиг
Doublegrey
блин
Nikita
Потому, что оно лежит в твоей домашней директории и принадлежит тебе
Doublegrey
ну я от рута его редачил)
Nikita
Тильда в пути означает подстановку $HOME, то бишь cd ~/dir1/dir2 означает cd $HOME/dir1/dir2
Sergey
?
в переменную PATH добавь /snap/bin
Nikita
просто права не сломай на этот файл, а то баш может отвалиться
Doublegrey
да, я это знаю
Doublegrey
он типо может начать принадлежать руту?
Nikita
от sudo nano нет, но если ты запустишь nano от sudo и создашь какой-то новый файл, даже в твоей домашней директории, оно уже собственником будет считать рута
Doublegrey
аааа, ясно
Sergey
GOPATH ?
нет, просто $PATH
Doublegrey
нет, просто $PATH
export PATH=/snap/1016/bin ?
Sergey
gopath это где проекты
Sergey
export PATH=/snap/1016/bin ?
нет, так же в bashrc допиши
Sergey
export локальную переменную сделает терминал закроешь и все исчезнет
Nikita
PATH=$PATH:/snap/1016/bin, а то переменную PATH затрешь
Антон
расшифруйте пожалуйста подробней эту строку мне, а то пояснения не совсем понятное, а такое обьявление с переменной и err через запятую я в коде примеров вижу часто
Антон
var f, err = os.Open(name) // os.Open возвращает файл и ошибку
Антон
это если я знаю, что функция хоторую я хочу присвоить, возвращает 2 значения, то мне для нее нужно 2 переменных обьявлять?
Антон
http://joxi.ru/Vm6alJETxk5Dlr
Антон
gotour
вот читаю, то есть я заранее должен знать что может вернуть функция, там 2 или 3 значения или одно и присваивать ей несколько переменных?
Антон
я понял, сейчас найду функцию os.Open и посмотрю
Nikita
https://www.golang-book.com/books/intro/4
Oleksii
Функции в Go могут возвращать несколько значений
Антон
Ты присваиваешь переменным значения, возвращаемые функцией
ну то есть, функция Open например возвращает файл который открывает либо ошибку, с пояснением почему файл нельзя открыть, и по этому мы зная что делает эта функция сразу обьявляем под нее 2 переменных, f - для открытого файла и err на случай ошибки?
Антон
Функции в Go могут возвращать несколько значений
а если я написал функцию, которая не возвращает ошибок, то я бы написал var f = myOpenFileFunc(name)
Oleksii
Да, но если функция возвращает 2 значения, то она возвращает ВСЕГДА 2 значения. Нет "либо одно, либо другое".
Doublegrey
ну да
Doublegrey
нил это пустота
Антон
ну да
если функция открыла нормально файл, то err будет == nil?
Doublegrey
ты же потом проверку делаешь if error != nil то значит файл не открыт
Антон
скажите, а зачем нужны указатели, если можно не создавая указатель работать с изначальной переменной?
MrSyabro
затем, что передавая значение функции, ты создаешь копию данных
MrSyabro
И что бы заменить исходные, копию нужно вернуть и перезаписать
MrSyabro
Это займет время и ресурсы
MrSyabro
даже, если тебе не нужно трогать исходные данные, создавать копию каких-то больших структур (например срез) накладно
Антон
даже, если тебе не нужно трогать исходные данные, создавать копию каких-то больших структур (например срез) накладно
понял, что бы функция не копировала в себя физически все что принимает, мы ей будем давать указатели и она будет сразу брать значения из памяти
MrSyabro
до
Oleksii
Указатель тоже копируется, но указатель = 4 байта, а структура большая может намного больше занимать памяти
MrSyabro
разве 4?
Oleksii
Если не ошибаюсь, то четыре
MrSyabro
А не 8?..
Doublegrey
В современных "массовых" целевых платформах используется так называемая плоская модель памяти с указателями размера 32 или 64 бита (4 или 8 байтов).
MrSyabro
Ничья
Doublegrey
как вам? http://shtein.ddns.net:8080/
Alexander
что именно?
Doublegrey
таймер
Alexander
дата в американском формате.
Doublegrey
и что?
Alexander
указывать время "09:00:00" - для людей излишне и выглядит плохо с точки зрения UI
Alexander
ничего