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一堆槽点!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,735评论 0 17
  • ———文章来源 YamiOdymel/PHP-to-Golang 为什么从PHP 转到Golang? PHP和模块...
    沐青之枫阅读 12,244评论 19 116
  • 所有的抉择都有因为产品的需要 Go诞生于Google, 是由以下三位计算机领域的大师写的 由于出身名门,Go在诞生...
    远平9527阅读 10,567评论 3 50
  • 一、介绍和安装 1.介绍 1.1 什么是Golang Go也被称为Golang,它是由谷歌创建的一种开源、编译和静...
    Venture_Mark阅读 422评论 0 0
  • 1.看了一点资料分析的内容,练习题做了几道 2.归纳总结题做了一道。 3.新增知识,没想到。 4.有认识新朋友吗?...
    白流云阅读 130评论 0 0