То есть
teststruct.Number нормально поменялось внутри функции myinit и в main после работы функции имеет значение 100
resp.StatusCode внутри функции приняло значение 200 а после выхода в main опять получило значение 400
Хотя обе переменные передавались через указатели.
Ты присваиваешь переменной resp новое значение в строчке `resp, _ = http.Get(webPage)`. После выполнения этой строчки она указывает уже на новый объект, который не имеет отношения к тому значению, которое ты передаёшь в функцию. Наверное тебе нужен указатель на указатель.
Здравствуйте, vsb, Вы писали:
vsb>Ты присваиваешь переменной resp новое значение в строчке `resp, _ = http.Get(webPage)`. После выполнения этой строчки она указывает уже на новый объект, который не имеет отношения к тому значению, которое ты передаёшь в функцию. Наверное тебе нужен указатель на указатель.
Да, возможно.
Только вот как правильно непонято.
Хочу в myinit запихать проверки на доступность страницы, бд и т.д.
А в main уже проводить работу с загруженной страницей (resp.Body)
Вот и не ясно как правильно это сделать.
Здравствуйте, Trener2022, Вы писали:
T>Да, возможно. T>Только вот как правильно непонято.
T>Хочу в myinit запихать проверки на доступность страницы, бд и т.д. T>А в main уже проводить работу с загруженной страницей (resp.Body) T>Вот и не ясно как правильно это сделать.
Проще всего просто вернуть *http.Response, если судить по этому примеру.
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, Trener2022, Вы писали:
T>>Да, возможно. T>>Только вот как правильно непонято.
T>>Хочу в myinit запихать проверки на доступность страницы, бд и т.д. T>>А в main уже проводить работу с загруженной страницей (resp.Body) T>>Вот и не ясно как правильно это сделать.
vsb>Проще всего просто вернуть *http.Response, если судить по этому примеру.
Есть проблема что в myinit мне несколько объектов нужно будет инициализировать и потом с ними работать в main (типа коннекта к бд — db, err = sql.Open("postgres", psqlconn))
Можно конечно забить на отдельную функцию инициализации и просто в main все вписать.
Но хочется же еще и разобраться как правильно подобные вещи передавать в функции.
Здравствуйте, Trener2022, Вы писали:
vsb>>Здравствуйте, Trener2022, Вы писали:
T>>>Да, возможно. T>>>Только вот как правильно непонято.
T>>>Хочу в myinit запихать проверки на доступность страницы, бд и т.д. T>>>А в main уже проводить работу с загруженной страницей (resp.Body) T>>>Вот и не ясно как правильно это сделать.
vsb>>Проще всего просто вернуть *http.Response, если судить по этому примеру.
T>Есть проблема что в myinit мне несколько объектов нужно будет инициализировать и потом с ними работать в main (типа коннекта к бд — db, err = sql.Open("postgres", psqlconn)) T>Можно конечно забить на отдельную функцию инициализации и просто в main все вписать. T>Но хочется же еще и разобраться как правильно подобные вещи передавать в функции.
Во-первых в go можно и нужно возвращать несколько значений.
Во-вторых, если их прям много, можно создать отдельную структуру-держатель этих полей.
В-третьих можно использовать вместо этой структуры стандартный класс Context. Насколько это уместно в твоём случае, не знаю, но как один из вариантов.