go - 类型定义是否有助于分配受限值?
问题描述
在下面的结构类型中:
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
?
解决方案
不可以。您可以为 JobTitle 分配任何值:
e.JobTitle=JobTitleType("bogus")
JobTitleType
是基于字符串的,所以所有的字符串值都可以转换成它。
您可以使用 getter/setter 来强制执行运行时验证。
推荐阅读
- c - 在 C 中使用 while(scanf) 时出现代码块错误
- python - 如何解决或跳过我们得到的列的特定行> str.findall中的“float object is not iterable”
- c# - GZipStream 在 .NET Core 2.1 上解压缩失败
- javascript - 从屏幕上的下拉列表中选择一个选项的 JS
- oracle - procedure scheduled job inside package
- r - 参数 1 必须是数据框或命名的原子向量
- python - 第 17 行有关变量的语法错误。我正在尝试制作一个程序,该程序接受三角形的点,并通过 Heron 的公式输出该区域
- python - 找到约束下的最优刚体变换
- javascript - 每次浏览器得到响应时,有什么方法可以清除 Web 浏览器控制台。(无需重新加载页面)
- c - if - else 程序在输入字符值时遇到问题