file/info.go
func (i *info) GroupHas(p ...perm) bool {
	mode := i.fi.Mode()

	for _, v := range p {
		switch v {
		case R:
			if mode&modeRGroup == 0 {
				return false
			}
		case W:
			if mode&modeWGroup == 0 {
				return false
			}
		case X:
			if mode&modeXGroup == 0 {
				return false
			}
		}
	}
	return true
}
func (i *info) GroupHas(p ...perm) bool {
	mode := i.fi.Mode()

	for _, v := range p {
		switch v {
		case R:
			if mode&modeRGroup == 0 {
				return false
			}
		case W:
			if mode&modeWGroup == 0 {
				return false
			}
		case X:
			if mode&modeXGroup == 0 {
				return false
			}
		}
	}
	return true
}
// GroupHas reports whether the group has all given permissions.