我有两个main.go以下的文件,还有一个包中有一些函数的文件,叫做functions.

我的问题是:如何调用package main中的函数?

File 1: main.go (located in MyProj/main.go)

package main

import "fmt"
import "functions" // I dont have problem creating the reference here

func main(){
    c:= functions.getValue() // <---- this is I want to do
}

File 2: functions.go (located in MyProj/functions/functions.go)

package functions

func getValue() string{
    return "Hello from this another package"
}

推荐答案

通过其导入路径导入包,并通过包名引用其所有导出的符号(从with a capital letter开始的符号),如下所示:

import "MyProj/functions"

functions.GetValue()

Go相关问答推荐

Golang regexpp:获取带有右括号的单词

VS代码,Golang格式顽固的情况与switch / case

Golang Viper:如果第一个字段不存在,如何从另一个字段获取值

GORM Find方法中缺少字段

Wamtime Memory中的‘Offset’是什么?Read?

Golang在不写入磁盘的情况下为jpeg图像生成一致的哈希

当我有外键时,如何使用 GORM 创建数据库的新条目

Go 是否提供了标准或事实上的方法来处理单个语句中的错误(即内联错误处理)?

Go Gin:验证 base64

如何在 Go 服务中导入 monorepo 中的包?

下载和合并时输出文件已损坏

如何从 Go 中的 `HijackedResponse` 中删除 Cursor Position ANSI 转义码?

如何将整数哈希细分为范围

设置指向空接口的指针

Go:等待多个通道的性能损失

转到文本/模板模板:如何根据模板本身的值数组判断值?

使用 oklog/run 来自 Go 编译器的错误(无值)用作值

如何在 Windows 中使用 github.com/AllenDang/giu 和 github.com/gordonklaus/portaudio 构建 GO 程序

如何在 Unmarshal 中使用泛型(转到 1.18)

Scanner.Buffer - 最大值对自定义拆分没有影响?