这是导入声明的Go规范:

ImportDecl       = "import" ( ImportSpec | "(" { ImportSpec ";" } ")" ) .
ImportSpec       = [ "." | PackageName ] ImportPath .
ImportPath       = string_lit .

The following code compiles:

import /*
 */f "fmt"

但不是此代码:

import /*
 */f/*
 */"fmt"

更奇怪的是,这段代码编译:

import /*
 */f /* */ "fmt"

我无法理解这些标记之间的注释块之间的差异.

推荐答案

The Go Programming Language Specification

Comments

一般注释以字符序列/*开始,以结束

不包含换行符的一般性 comments 就像一个空格.任何其他

package main

import /*
 */f/*
 */"fmt"

func main() {
    fmt.Println()
}

https://go.dev/play/p/nxvIDWkWf_q

prog.go:4:5: expected 'STRING', found newline

Go相关问答推荐

如果添加构建标签,gopls将停止工作

Pulumi-S3-当策略依赖于访问点时,如何将AccesspintPolicy附加到访问点

Zitadel示例Go Webapp加密密钥

CGO如何转换为文件*类型

在Uber FX中实现后台进程正常关闭的正确方式是什么?

允许在 struct 中使用复合作为函数参数

如何防止程序B存档/删除围棋中程序A当前打开的文件?

在GO中使用泛型类型 struct 实现接口方法

Docker Compose Health Check未退出,错误为无法启动

Hugo错误:没有为此项目配置现有内容目录

";无效的复制因子;融合Kafka Go客户端

Cypher 查找(多个)最低 node

在golang中以JSON格式获取xwwwformurlencoded请求的嵌套键值对

如何在 Go 中编写示例测试?

为什么 `append(x[:0:0], x...)` 将切片复制到 Go 中的新后备数组中?

如何使用 Status 字段创建 Kubernetes 对象?

具有相同提前返回语句的函数的不同基准测试结果

HTTP 重定向不呈现新页面

处理程序中的无限循环

有没有办法在golang中映射一组对象?