package roles import "slices" // subject — реализация IHasRole: субъект с фиксированным набором ролей. type subject struct { roles []string } func NewSubject(roles ...string) IHasRole { return &subject{roles: roles} } // HasRole возвращает true, если роль есть в наборе ролей субъекта. func (s *subject) HasRole(role string) bool { return slices.Contains(s.roles, role) }