在Golang中如何在一个包内导入另一个包

5

Go结构体:

|--main.go
|
|--users
     |
     |---users.go

这两个文件非常简单: main.go:
package main

import "./users"

func main() {
    resp := users.GetUser("abcde")
    fmt.Println(resp)
}

users.go:

package users

import "fmt"

func GetUser(userTok string) string {
    fmt.Sprint("sf")
    return "abcde"
}

但是在 main.go 文件中好像无法访问 fmt 包。当我尝试运行程序时,它会报错。

undefined: fmt in fmt.Println

有谁知道如何在 main.go 中让 fmt 可用?


Go语言基于“拥有”关系,因此在主函数中使用用户时,来自用户的fmt包不可用于主函数,并且需要在主函数中显式导入。 - Prashant Thakkar
1
如果想让标准的构建工具能够处理你的项目,就不应该使用相对导入路径。 - JimB
1个回答

3

您还需要在main中导入fmt

只需在main.goimport()中写入"fmt"即可运行。

import(    
    "fmt"  
    "./users"
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接