为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的包中的功能不起作用

为什么我的包中的功能不起作用

Go
qq_笑_17 2023-07-10 10:45:54
我已经放入了一个小代码文件,其中$GOPATH是~/go/src. 这里我创建了一个文件夹mysrc,在那里我保存了一个文件mytest.go,如下:package mytestimport ("fmt")func myfn(){  fmt.Println("My own fn")}我尝试使用以下文件导入上面的代码:package mainimport ("mysrc")main(){    myfn()}当我尝试运行上面的文件时,出现错误:# command-line-arguments./useMyfn.go:3:1: syntax error: non-declaration statement outside function body问题出在哪里以及如何解决?感谢您的帮助。编辑:我将主 fn 更正为,func main()但现在错误是:# command-line-arguments./useMyfn.go:2:9: imported and not used: "mysrc" as mytest./useMyfn.go:4:2: undefined: myfn
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

你需要做几件事

  1. 我建议使用与文件夹名称相同的包名称。

  2. myfn()函数需要导出。如何做到:只需将函数名称的第一个字符设置为大写即可。

package mysrc // <-- 1
import (
    "fmt"
    )
    func Myfn() { // <-- 2
    fmt.Println("My own fn")
}
  1. func语句前需要关键字main()

  2. 要访问其他包中的函数,您需要在函数名称之前写下包名称。在这种情况下,它将是mysrc.Myfn()

package main
import ( 
   "mysrc")
   func main() { // <-- 3
    mysrc.Myfn() // <-- 4
    }


查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信