这些//!+ //! - golang中的标签是什么?

时间:2016-07-13 11:25:01

标签: go compilation tags

我正在阅读The Go Programming Language,在浏览源代码时,我找到了某些标签,例如:

//!+
//!-

//!+main
//!-main

它们对编译器意味着什么?

3 个答案:

答案 0 :(得分:3)

不,这些评论对Go编译器没什么意义。正如gopl.io项目README.md中所述:

  

许多程序都包含//!+和//! - 形式的注释。这些评论包含了书中摘录的部分内容;你可以放心地忽略它们。在少数情况下,程序已经以不自然的方式重新格式化,以便可以在书中分阶段呈现。

例如,两个代码段//!+bytecounter//!-bytecounter之间的所有代码都在p上显示的gopl.io/ch7/bytecounter代码段中。这本书的第173页。

答案 1 :(得分:0)

这看起来像条件​​编译,这意味着您可以选择在为多平台构建时要构建的部分,例如,您可以 状态:

// +build windows

用于Windows等 你可以在这里找到关于它的更多信息和完整列表:

http://blog.ralch.com

还要看看build go包:

https://golang.org/pkg/go/build/

答案 2 :(得分:0)

不会在运行时编译,我认为它仍然被视为评论