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