biz-member-gateway/internal/domain/gender.go

40 lines
774 B
Go

package domain
import (
"fmt"
)
// 字串轉數字的對應表
var genderStringToCode = map[string]int64{
"secret": 0,
"male": 1,
"female": 2,
}
// 數字轉字串的對應表
var genderCodeToString = map[int64]string{
0: "secret",
1: "male",
2: "female",
}
// StringToGenderCode 將 "male"/"female"/"secret" 轉為對應數字
func StringToGenderCode(gender string) (int64, error) {
code, ok := genderStringToCode[gender]
if !ok {
return -1, fmt.Errorf("invalid gender string")
}
return code, nil
}
// GenderCodeToString 將 0/1/2 轉為對應字串 "male"/"female"/"secret"
func GenderCodeToString(code int64) (string, error) {
gender, ok := genderCodeToString[code]
if !ok {
return "", fmt.Errorf("invalid gender code")
}
return gender, nil
}