stringer

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2025 License: MIT Imports: 16 Imported by: 0

README

stringer

Install

go install github.com/moon-monitor/stringer@latest

Usage

1. Define the vobj object
package vobj

// Gender gender
//
//go:generate stringer -type=Gender -linecomment -output=gender.string.go
type Gender int8

const (
	GenderUnknown Gender = iota // unknown
	GenderMale                  // male
	GenderFemale                // female
)
2. Generate the vobj object
cd ./vobj && go generate
3. Generated code
// Code generated by "stringer -type=Gender -linecomment -output=gender.string.go"; DO NOT EDIT.

package vobj

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[GenderUnknown-0]
	_ = x[GenderMale-1]
	_ = x[GenderFemale-2]
}

const _Gender_name = "unknownmalefemale"

var _Gender_index = [...]uint8{0, 7, 11, 17}

func (i Gender) String() string {
	if i < 0 || i >= Gender(len(_Gender_index)-1) {
		return "Gender(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _Gender_name[_Gender_index[i]:_Gender_index[i+1]]
}

// IsUnknown Is it unknown
func (i Gender) IsUnknown() bool {
	return i == GenderUnknown
}

// IsMale Is it male
func (i Gender) IsMale() bool {
	return i == GenderMale
}

// IsFemale Is it female
func (i Gender) IsFemale() bool {
	return i == GenderFemale
}

// GetValue Retrieve the raw type value.
func (i Gender) GetValue() int8 {
	return int8(i)
}

Documentation

Overview

copy from: golang.org/x/tools/cmd/stringer

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL