Итак, я начал изучать go совсем недавно, и мне было интересно, что означает * при добавлении функции в структуру. Когда у меня, например, есть следующая структура:
type Cool struct {
}
Должна быть какая-то разница между следующими двумя реализациями функций:
func (c Cool) doSmth() {
}
func (c *Cool) doSmth() {
}
, потому что я столкнулся со странным вопрос, который я не могу объяснить себе. Возможно ли, что * имеет отношение к ссылке на структуру? Потому что я заглянул в C ++, и была разница между использованием * для указателей и для обращения к переменным при передаче их в функцию.
Заранее спасибо за вашу помощь!