Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';我不明白如何在多个文件中编译go代码_Go - Fatal编程技术网

Can';我不明白如何在多个文件中编译go代码

Can';我不明白如何在多个文件中编译go代码,go,Go,好吧,Go的主要卖点是它的易编译性和出色的工具链,但作为一个Go新手,我真的很迷茫,无法理解这一点上的文档 我在两个文件中有一个堆栈玩具示例(一个用于类型定义和方法,称为stack.go,一个用于主程序,称为main.go),它们都位于我的GOPATH/src/stacker目录中 每个文件应该如何命名?它有什么重要性吗?至少有一个会议吗?强制命名 包名应该是什么?我知道他们应该使用相同的包名,但是哪一个?是堆垛机吗 在main.go中,如何使用import指令导入stack.go 我尝试过很多

好吧,Go的主要卖点是它的易编译性和出色的工具链,但作为一个Go新手,我真的很迷茫,无法理解这一点上的文档

我在两个文件中有一个堆栈玩具示例(一个用于类型定义和方法,称为
stack.go
,一个用于主程序,称为
main.go
),它们都位于我的
GOPATH/src/stacker
目录中

  • 每个文件应该如何命名?它有什么重要性吗?至少有一个会议吗?强制命名
  • 包名应该是什么?我知道他们应该使用相同的包名,但是哪一个?是堆垛机吗
  • main.go
    中,如何使用
    import
    指令导入
    stack.go
  • 我尝试过很多组合,直到现在都不起作用

  • 您可以随意命名文件,只需注意特殊后缀,如
    \u test
    \u
    \u darwin
    \u unix
    ,等等)。还要注意,前缀为
    的文件不会编译到包中
  • 建议您将包命名为文件所在的文件夹,尽管在声明
    package mypkg
  • 如果
    stack.go
    main.go
    位于同一文件夹/包中,则无需导入。
    stack.go
    中的所有内容都已在
    main.go
    中可用,因为它在同一个包中

  • 如果
    stacker
    应该编译成一个可执行文件,你应该使用
    package main

    你应该提到,如果
    stacker
    应该编译成一个可执行文件而不是一个导入包,那么它应该是
    package main
    @ANisus和Erik,谢谢你的回答。“现在效果很好,我开始了解整体情况了。”安尼修斯更新了我的答案。谢谢