Задать вопрос
@MIsternik

Работа с базой и слайсами, как правильно?

Недавно заинтересовался языком и никак не могу понять некоторые моменты.
1. Слайсы это ссылки на массимы или мх часть в памяти, значит ли это что передавать и возвращать слайссы из функций можно по значению ?
2. В sql есть Prepare. Его , как я понял, надо использовать если запрос повторяется.
Но повторения имеются в виду в цикле, перед которым мы сначала делаем Prepare а потом выполняем ? Или можно после sql.Open() при инициализации приложения "запрепейрить" запросы и потом их использовать в течении всего времени жизни приложения? Для веб-приложения, например.
  • Вопрос задан
  • 227 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Go-разработчик с нуля
    9 месяцев
    Далее
  • Skillfactory
    Профессия Backend-разработчик на Go
    12 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Вам надо на 2 разных вопроса это разбить. Отвечаю на первый.
Да, слайсы это просто указатели, поэтому их можно передавать по значению.
https://play.golang.org/p/rVehEbb3-n

Но только для случаев, когда их длина не меняется во время работы функции. Ибо при аллокации нового куска памяти указатель изменится.
https://play.golang.org/

И даже вот так: https://play.golang.org/p/-bDHwT2Jcm

P.S. В стандартном пакете sort слайсы передаются как раз по значению.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы