实例学习Golang--package

廉价感情. 提交于 2020-02-04 04:57:52

包 是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io 等。

如果想在一个包中引用另外一个包里的标识符(如变量、常量、类型、函数等)时,该标识符必须是对外可见的(public)。在Go语言中只需要将标识符的首字母大写就可以让标识符对外可见了。

包的导入

  • import导入语句通常放在文件开头包声明语句的下面。
  • 导入的包名需要使用双引号包裹起来。
  • 包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔。
  • Go语言中禁止循环导入包。

 

例子:把加减乘除计算的方法放在包里被引用

文件结构:

usepackage

        -- main.go

mathtool    // 名字可以随便取,可以不跟package 名一样。但是底下所有go文件都得归属与同一个package

        -- add.go

        -- sub.go

       -- other.go

 

代码:

usepackage\main.go

package main

import (
    "fmt"

    s "github.com/sun******/learning/mathtool"
)

// 修改包名的时候想到的,尽可能的引用包别名,这样,包名改变不影响其他代码

func main() {

    a := 2
    b := 1
    fmt.Println(s.Add(a, b))
    fmt.Println(s.Sub(a, b))
    fmt.Println(s.Multi(a, b))
    fmt.Println(s.Div(a, b))

}

 

mathtool/sub.go

package mathmethods

import "fmt"

// Sub hahaha
func Sub(x, y int) int {
    fmt.Println("this Sub in sub.go")
    return x - y
}

 

mathtool/add.go

package mathmethods

import "fmt"

// Add hahaha
func Add(x, y int) int {
    fmt.Println("this Add in add.go")
    return x + y
}

mathtool/other.go

package mathmethods

import "fmt"

// Multi hahaha
func Multi(x, y int) int {
    fmt.Println("this Multi in other.go")
    return x * y
}

// Div hahaha
func Div(x, y int) int {
    fmt.Println("this Div in other.go")
    return x / y
}

运行结果:

>go run main.go
this Add in add.go
3
this Sub in sub.go
1
this Multi in other.go
2
this Div in other.go
2

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!