При попытке забилдить приложение возникают ошибки:
# command-line-arguments
./main.go:10: implicit assignment of unexported field 'login' in user.User literal
./main.go:11: implicit assignment of unexported field 'password' in user.User literal
main.go:
package main
import (
"fmt"
"packageTest/user"
)
func main() {
var bob = user.User {
"Bob",
"superbob",
}
fmt.Println(bob.GetLogin())
}
user/user.go:
package user
type User struct {
login string
password string
}
func (User *User) GetLogin() string {
return User.login
}
Как мне эту ошибку забороть? Что я делаю не так?
Пакет nsa в данном случае не используется.
- - - - - - - - - - - - - - - - - - - - - -
UPD
Окей, переименовав переменные структуры
login,
password в CamelCase (сделали пабликами) - всё стало ок, ошибка пропала.
Но как мне быть, если мне нужно установить в данном образном конструкторе приватные переменные, доступ к котором будет осуществляться через методы структуры?
type User struct {
Login string
Password string
}
- - - - - - - - - - - - - - - - - - - - - -
UPD
Судя по
www.golangpatterns.info/object-oriented/constructors
https://stackoverflow.com/questions/18125625/const...
всё плохо