Alexander
ну и прекращай опускать проверки на ошибку
Alexander
такой код даже нет смысла обсуждать
Andrey
Игнорируешь ошибки, а добрался до самого ассемблера...а ты хорош 😅
Alexander
самая мякотка в приведенном примере
Null
Игнорируешь ошибки, а добрался до самого ассемблера...а ты хорош 😅
Всем спасибо, кто старался помочь Проблема была изза библиотеки godoenv она циклила вызов метода на блок памяти из первого вызова метода пересел на viper проблема ушла
Emin Zalaev
Viper это герой в доте
Null
Viper это герой в доте
таких тонкостей не знал)
Илья
спокойной ночи работяги
Null
Null
звездочку поставить
Null
можно написать скрипт по созданию гитхаб аккаутов которые будет ставить звездочку и удаляться потом)
Null
не должна она же числется за аккаутнтом который имеет какой то статус например "DELETE"
Null
затык будет тока на моменте подтверждения акка по почте через код
Valeriy
Инкапсуляция, полиморфизм есть в Go
Илья
startServer(&stc)
Илья
если ресивер pointer type, то нужно в интерфейс передавать указатель на структуру
Andrey
а можно поинтересоваться для себя, в чем смысл тут приватного интерфейса? ну и вообще интерфейса
Andrey
Раз нужен, то нужен))
Grigorij
а почему переменная ресивера sc называется
Andrey
ага
Emin Zalaev
Пожалуйста нинада
Emin Zalaev
Ахахах я не могу с этой игрушки
Emin Zalaev
Или кукла вуду
Anup
@linux_kal
leejoys
мхех
Emin Zalaev
Titty
Emin Zalaev
Уважайте частную жизнь других
Azat
Все круто ребят, по линуксу в личке пообщайтесь
Null
Народ. Не могу найти инфу, можно ли при ексепшене просто скипунуть функцию где прилетела ошибка и чтобы прога дальше работала??
Andrey
в го нет эксепшенов))
Null
дай лучше пример кода
func updateCurrentVcenter(fileENV string) { InitializationVcenterENV(fileENV) err := getAuthToken() if err != nil { //skip } else { updateListDCObjectType() updateListHostInDataCentersObjectType() updateListVmInHostsObjectType() } }
Null
скипнуть функцию, то есть не обрабатывать ее ошибку получается?
ну так не получится ее обработать т.к если ответ от сервера Null то уже ничего не сделать кроме как скипнуть работу функции
Andrey
или если есть ошибка, просто не выполнять функцию дальше?
Andrey
если брать твой кусок кода, то во-первых, else избыточный, а чтобы выйти (в твоем примере) просто напиши return. но все же советую вернуть ошибку наверх
Null
если брать твой кусок кода, то во-первых, else избыточный, а чтобы выйти (в твоем примере) просто напиши return. но все же советую вернуть ошибку наверх
func updateCurrentVcenter(fileENV string) { InitializationVcenterENV(fileENV) token := getAuthToken() if token == "" { //skip log.Println("Error! Token not Found! Stop update " + fileENV) } updateListDCObjectType() updateListHostInDataCentersObjectType() updateListVmInHostsObjectType() } фихсед не красиво, но работает, как я хочу
Andrey
пойду-ка я за тебя и твой код свечку хотя бы поставлю)))))
Null
спасиб
Grigorij
так у тебя updateListDCObjectType() updateListHostInDataCentersObjectType() updateListVmInHostsObjectType() должны быть в отдельной функции
Grigorij
что исправил?
Null
что исправил?
перенес в другой метод
Grigorij
больше не скипаешь err?
Null
больше не скипаешь err?
понял что надо их больше ловить чтобы знать где что отвалиться может
Null
просто я самопально учусь тока стаковерфлоу и фантазия
Grigorij
да 100%
Evgeny
эх, вот бы были эксепшены нормальные
xarakiri
а что тебе не нравится?
Evgeny
куча бойлерплейт кода для обработки ошибок на каждом шагу
Null
Это твой первый яп?
ну первым java 8 но сугубо в учебных целях учил сугубо по книгам учил гдето год
Evgeny
переведу: раз уж мы всё равно из каждой функции возвращаем возвращаемое _и ошибку_, а потом после вызова каждой функции проверяем ошибку, и если она есть, то возвращаем её еще выше (или перезаворачиваем в какую-нибудь более общую), то можно было бы такой значит синтаксический сахар в язык добавить, чтобы у любой фунции в возвращаемых имплицитно была заложена ошибка, а у любой вызов функции заворачивался в дефолтный обработчик этой ошибки. и жили бы все счастливо и горя бы не знали
xarakiri
ну, переходи на rust :)
Evgeny
да когда б от меня зависело на каком языке мне писать, побойся бога
leejoys
https://www.youtube.com/watch?v=1B71SL6Y0kA или так?
Null
The Algorithms - Go — Алгоритмы, реализованные на GoLang Репозиторий содержит собой коллекцию кода и демонстраций наиболее популярных алгоритмов, реализованных на Go. Packages: ahocorasick, avl, binary, binarytree, caesar, catalan, coloring, combination, conversion, diffiehellman, dynamic, dynamicarray, factorial, gcd, generateparentheses, genetic, geometry, graph, hashmap, kmp, lcm, levenshtein, linkedlist, manacher, math, max, maxsubarraysum, min, modular, moserdebruijnsequence, nested, palindrome, pascal, password, permutation, pi, polybius, power, prime, pythagoras, queue, rsa, search, segmenttree, set, sort, stack, transposition, trie, xor #Go #Algorithm @Golang_google
Andrey
просто я самопально учусь тока стаковерфлоу и фантазия
на стэке очень много бывает нехорошего кода, советую тебе прочитать книгу по Go . Выполни там все задания, и ты уже можешь легко стать конкуренто-способен на рынке
Andrey
можно пример годных книг (на рус)?? + я на рынке как SysAdmin числюсь
я там тебе сделал ссылку же))) (нажми на слово Go)
Vitaly
Всем привет. Кто-нибудь может посоветовать что, где почитать, чтобы понять как организовать файловую структуру go-проекта по папкам, а не всё в одной директории? Чтобы не всё в рамках одного пакета и на одном уровне, а как-то наследовалось
Илья
например https://github.com/evrone/go-clean-template/
Илья
есть отличные ролики от @dikkini https://youtu.be/eVhIlhLl4e4
Andrey
https://github.com/golang-standards/project-layout/blob/master/README_ru.md Вот это еще можно посмотреть
не думал, что кто-то осмелится тут это скинуть))))
Andrey
не знаю как у других ребят, но в моих кругах вокруг это репы столько веселых историй и недопониманий есть, что прям жесть. Чего уж только стоит ее название))
Valeriy
Andrey
Все равно для начала норм, какое-то базовое разделение. Чистую архитектуру с наскока так сложно будет
ну если с таким подходом, то да. но практика говорит, что словосочетание "golang-standarts" многим сносит голову. Как по мне достаточно понимать особенной нейминга и предназвачение папок cmd, pkg и internal
Andrey
Добрый день, а можете кратко дать пояснение про назначение этих папок?
cmd - там обычно логика main.go и других аргументов (если это cli) pkg - используется для переиспользования кода, например, общей логики для работы с гитлаб апи internal - тут хранится бизнес логика. особенность папки в том, что если кто-то импортит к себе твой проект, то код-бизнеса не будет скачен. (да-да, если посмотреть исходники, то тянутся обычно все файлы, и makefile и даже gitlabci
[object Object]
Всем привет, работаю с fiber, такая проблема, не гуглиться, не парсится поле result, хотя оно там есть, и может быть строкой либо вообще json объектом
[object Object]