Golang / 未分类 · 2023年3月7日 0

golang使用同目录下的文件,golang中的package使用简介【】

同样先看几个文件:

// main.go
package main

import (
    "./subpack" //这里是目录相对路径,不是包名
    "fmt"
)

func main(){
    fmt.Println(subpack.sub()) //这里的requests才是./requests目录中的package名称
    function() //因为是在同一个目录下,所以可以直接使用这个文件中的方法和变量等...
    //但是编译或运行的时候要这样:go build,而不用指出文件名go build main.go
    fmt.Println(subpack.VERSION)
}
// function.go
package main

import "fmt"

func function(){
    fmt.Println("this main package, function func")
}
// subpack/subpack.go
package subpack

import (
    "fmt"
)

var VERSION string = "0.6"

func Sub() string { //注意这里的首字母大写
    fmt.Println("subpack_name sub func")
    return "subpack_name sub func"
}

在golang 里面一个目录为一个package, 一个package级别的func, type, 变量, 常量, 这个package下的所有文件里的代码都可以随意访问, 也不需要首字母大写。看function.go中的function函数,由于function.gomain.go在同一个目录,所以main.go可以直接使用function.go中的这个function函数(main.go第11行直接使用了function)。

引用其它目录中的文件需要import这个文件所在的文件夹相对位置,然后在代码中用这个文件中的package包名作为使用依据。看第三段代码,subpack文件夹main.go在同一个目录,subpack文件夹中有个subpack.go文件,所以main.go要import ./subpack这个文件夹,这个subpack.go文件的packagesubpack,并且Sub方法是首字母大写,所以main.go中可以用subpack.Sub()方法。

PS:文件夹名文件夹内的文件package名称可以不一致,但是那样不符合语言规范,并且会很杂乱。

还是python的import简洁、简单!!!golang一堆槽点!!!

打赏 赞(0) 分享'
分享到...
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏