【发布时间】:2016-01-04 04:08:12
【问题描述】:
问题:
我最近开始阅读 Golang Specification Manual 并在试图理解 relevant section 中的命名和未命名类型时陷入困境。我来自动态语言,这让我有点头疼。
手册说明:
类型确定特定于该类型值的一组值和操作。类型可以被命名或 未命名。命名类型由(可能是 qualified)type name 指定;指定了未命名的类型 使用类型文字,它从现有类型组成新类型。
然后继续:
布尔、数字和字符串类型的命名实例是 predeclared。复合类型——数组, 结构、指针、函数、接口、切片、映射和通道类型——可以使用类型文字来构造。
这里的问题是,在规范中,链接让我在页面之间跳来跳去,忘记了这么多概念向我抛出的太快是什么。
其他资源:
我已经四处寻找澄清这一点,除了规范手册,资源稀缺。我能找到的唯一相关材料是:
Learning Go - Types - 博客文章解释 Go 中类型系统的细微差别。
An issue here 关于和我问的差不多。
不幸的是,我在 Stack Overflow 上找不到任何关于此的 relevant questions。 (如果它们存在,我需要修改我的搜索方法!)。我之所以这么问,是因为理解一门新语言的类型系统是基本概念之一,以便有效地学习它。
那么,问题来了:
谁能提供一个简洁明了的例子来说明命名类型和未命名类型的概念之间的区别?*
*此外,解释 qualified 和 pre-declared 的概念有助于完整性,但显然没有必要。
【问题讨论】:
-
我不明白不清楚你在问什么近距离投票,因为我强调我正在寻找的是 一个简洁明了的示例,说明了命名类型和未命名类型的概念之间的区别。
标签: types go type-systems