如何从另一个文件夹导入主文件夹

时间:2019-03-26 05:46:18

标签: go

app / main.go

package main

import (
   "fmt"
)
var varInMain string

func exm() {
    varInMain = "Hello, playground"

    fmt.Println(varInMain)
}

app / folder / call.go

package folder

import (
    "fmt"
    Main "../" -> ERR// or "app" -> ERR
)

func main() {

    fmt.Println(Main.varInMain)
}

我无法调用main.go变量或func。从folder / call.go。 我该怎么做? //而且多数民众赞成必须是本地包

2 个答案:

答案 0 :(得分:2)

如果要在程序包之间共享var,请创建一个单独的程序包,并在其中用大写字母的第一个字符声明导出的变量。

app / mypack / vars.go

package mypack

var MyVar string

然后导入main和其他软件包,例如     包主

import (
    "fmt"
    mypack "app/mypack" 
)

func main(){
    mypack.MyVar = "Hello, playground"
}

以相同的方式导入app / folder / call.go并使用

答案 1 :(得分:1)

Main表示此软件包使用了项目中的所有内容(如果不只是将其从项目中删除,一切都会好起来的)。因此,由于循环导入,您无法导入main。因此,您应该创建单独的程序包,并根据需要在主程序包和其他程序包中使用它。