首页 > 解决方案 > 类型定义是否有助于分配受限值?

问题描述

在下面的结构类型中:

type Employee struct {
    Name         string          `json:"name"`
    JobTitle     JobTitleType    `json:"jobtitle"`
}

JobTitle应确保成员具有受限(特定)值(字符串类型)。

type JobTitleType string

const(
     GradeATitle JobTitleType = "Clerk"
     GradeBTitle JobTitleType = "Manager"
)

type definition( JobTitleType) 是否有助于将受限值分配给 member JobTitle

标签: go

解决方案


不可以。您可以为 JobTitle 分配任何值:

e.JobTitle=JobTitleType("bogus")

JobTitleType是基于字符串的,所以所有的字符串值都可以转换成它。

您可以使用 getter/setter 来强制执行运行时验证。


推荐阅读