当前位置: 首页 > 面试题库 >

不能在Golang中调用Println时摆脱fmt前缀

凌景辉
2023-03-14
问题内容

我尝试了http://tour.golang.org/#1

package main

import "fmt"

func main() {
    Println("Hello World")
}

这会产生错误:

prog.go:3: imported and not used: "fmt"
prog.go:6: undefined: Println
 [process exited with non-zero status]

Program exited

这是否意味着我必须为Println加上“ fmt”软件包名称前缀?在其他语言中,这不是强制性的。


问题答案:

如果该函数不在当前程序包中,则必须为其添加前缀。

但是,您可以为此包创建一个别名:

import f "fmt"

func main() {
    f.Println("Hello World")
}

“重命名” 功能:

import "fmt"

var Println = fmt.Println

func main() {
    Println("Hello World")
}

.用作别名(可能是您最想要的):

import . "fmt"

func main() {
    Println("Hello World")
}

请注意,在这种情况下,别名不是空白。根据Go
的规格:

合格标识符是具有包名前缀的合格标识符。软件包名称和标识符都不能为空。

QualifiedIdent = PackageName "." identifier .

另一个来自相同规格的示例:

import   "lib/math"         math.Sin
import m "lib/math"         m.Sin
import . "lib/math"         Sin


 类似资料:
  • 我有JavaWebService代码在我的eclipse。我使用了@WebService@Webmethod,@XmlElements,@XmlType,@XmlAccessorType 现在我正在使用cxf框架中的java2ws命令生成wsdl。这是命令 我的wsdl文件包含agr0作为我不想要的名称,因为当我将其导入SoapUI时。它正在字段周围添加标记。 下面是带有arg0的wsdl部分 下

  • 问题内容: 我正在使用Apache Derby嵌入式数据库在Maven项目中进行单元测试。不幸的是,每当运行测试时,我最终都会在项目根目录中找到该文件。数据库本身是在目录()中创建的,因此这不是问题。在查阅参考指南之后, 我尝试在JDBC url()上设置参数,但这似乎是针对其他日志的,因此仍然会出现。 任何帮助深表感谢。 问题答案: 您可以通过创建以下类来摆脱文件 并设置JVM系统属性,例如,使

  • 在这段代码中,我从\u RETURN\u VALUE得到了\u SOME\u PATH\u上的

  • 问题内容: 我有一个swing应用程序,在其中可以在JPanel中显示图像。如果应用程序无法生成图像,我想从JPanel中删除前一个图像,并用JTextField和消息替换它。我可以添加文本字段,但是它是在先前内容的顶部绘制的,该内容本身是JPanel的子类。这是我所拥有的: 如何获得cdPanel完全重绘自身? 问题答案: 您可以简单地尝试致电: 代替

  • 当我的设备联机时,RecyclerView适配器会按预期工作。脱机时,不会调用onCreateViewHolder。 首先,我知道这一点:Recyclerview不会调用CreateViewHolder,这不是问题所在。getItemCount()返回一个数字 所以,它似乎与在线/离线状态有关,但我无法弄清楚如何。这是适配器:

  • 问题内容: 到目前为止,给我带来了很多麻烦,所以我想摆脱它。尽管spring框架文档清楚地说明了应该做的事情,但实际上 并没有摘要列表。 所以我一直坚持删除并得到错误 -在名称为的中找不到带有请求的映射 对于所有应该由控制器类解决的Url(在这种情况下:)。有什么建议可以让我了解更多信息吗?我非常想知道到底由代表什么标签。 问题答案: 你可以用来自定义定义的每个bean 。现在,javadocs详