3 ms·
would you have a sample code? sounds interesting
by lma21 6y ago
would you have a sample code? sounds interesting
- dastx 6y agoExample from the docs: // pill.go package painkiller //go:generate stringer -type=Pill type Pill int const ( Placebo Pill = iota Aspirin Ibuprofen Paracetamol Acetaminophen = Paracetamol ) Then running `go generate` will yield: $ cat pill_string.go // Code generated by "stringer -type=Pill"; DO NOT EDIT. package painkiller 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[Placebo-0] _ = x[Aspirin-1] _ = x[Ibuprofen-2] _ = x[Paracetamol-3] } const _Pill_name = "PlaceboAspirinIbuprofenParacetamol" var _Pill_index = [...]uint8{0, 7, 14, 23, 34} func (i Pill) String() string { if i < 0 || i >= Pill(len(_Pill_index)-1) { return "Pill(" + strconv.FormatInt(int64(i), 10) + ")" } return _Pill_name[_Pill_index[i]:_Pill_index[i+1]] } Note: indentation is messing up because of Hacker News, so ignore the indentation.