映射键类型和值类型之间的空间的句法含义

时间:2019-05-07 21:43:17

标签: dictionary go syntax

我正在关注的Go的在线示例将以下映射类型的语法用作函数中的参数:

func (contact *Contact) Validate() (map[string] interface{}, bool) {

map [string]和接口之间的空间是什么意思?我找不到其他定义地图并在其中留有空格的示例。

1 个答案:

答案 0 :(得分:5)

这没什么意思。不管您是否在此处留有空间都无所谓,代码是相同的。始终使用gofmt避免歧义。

Spec: Tokens:

  

令牌构成Go语言的词汇表。有四个类别:标识符关键字运算符和标点符号文字。由空格(U + 0020),水平制表符(U + 0009),回车符(U + 000D)和换行符(U + 000A)形成的 空白会被忽略,除了。另外,换行符或文件结尾可能会触发分号的插入。将输入分为令牌时,下一个令牌是形成有效令牌的最长字符序列。

地图类型:map[string]interface{}由令牌组成,并且在相关位置:map[string] interface{}处的空白只是被忽略,因为令牌将它们分隔开({如果空格不存在,{1}}和]不会合并为一个令牌。