func (grp *Group) Users() (Users, error) {
	if err := grp.init(); err != nil {
		return nil, err
	}
	return grp.users, nil
}
Users loads data from iRODS if needed, and returns the group's Users slice.
package gorods
import "C"
import (
	"fmt"
	"strconv"
	"strings"
	"time"
	"unsafe"
)
type Group struct {
	name        string
	createTime  time.Time
	modifyTime  time.Time
	id          int
	typ         int
	zone        *Zone
	info        string
	comment     string
	parentSlice *Groups
	hasInit bool
	users Users
	con   *Connection
	metaCol *MetaCollection
}
type Groups []*Group
func initGroup(name string, con *Connection) (*Group, error) {
	grp := new(Group)
	grp.name = name
	grp.con = con
	grp.typ = GroupType
	if z, err := con.LocalZone(); err != nil {
		return nil, err
	} else {
		grp.zone = z
	}
	return grp, nil
}
func (grp *Group) Name() string {
	return grp.name
}
func (grp *Group) Path() string {
	return grp.name
}
func (grp *Group) Zone() *Zone {
	return grp.zone
}
func (grp *Group) Comment() (string, error) {
	if err := grp.init(); err != nil {
		return grp.comment, err
	}
	return grp.comment, nil
}
func (grp *Group) CreateTime() (time.Time, error) {
	if err := grp.init(); err != nil {
		return grp.createTime, err
	}
	return grp.createTime, nil
}
func (grp *Group) ModifyTime() (time.Time, error) {
	if err := grp.init(); err != nil {
		return grp.modifyTime, err
	}
	return grp.modifyTime, nil
}
func (grp *Group) Id() (int, error) {
	if err := grp.init(); err != nil {
		return grp.id, err
	}
	return grp.id, nil
}
func (grp *Group) Info() (string, error) {
	if err := grp.init(); err != nil {
		return grp.info, err
	}
	return grp.info, nil
}
func (grp *Group) Type() int {
	return grp.typ
}
func (grp *Group) Con() *Connection {
	return grp.con
}