go 包

包的引出

1、在实际的开发中,我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如main.go中,去使用 utils.go 文件中的函数,如何实现? -》
2、 现在有两个程序员共同开发一个 Go项目,程序员 xiaoming 希望定义函数 Cal,程序员 xiaoqiang 也想定义函数也叫 Cal。两个程序员为此还吵了起来,怎么办? -》

包的原理图

包的本质实际上就是创建不同的文件夹,来存放程序文件
画图说明一下包的原理

包的基本概念

说明:go 的每一个文件都是属于一个包的,也就是说go 是以包的形式来管理文件和项目目录结构的。

包的三大作用

1、区分相同名字的函数、变量等标识符
2、当程序文件很多时,可以很好的管理项目
3、控制函数、变量等访问范围,即作用域

  • 打包的基本语法
package 包名
  • 引入包的基本语法
import "包的路径"

包的快速入门

引入包的时候从GOPATH设置的路径开始src文件夹忽略

1、目录结构


  • go 的配置路径


2、main.go代码

package main
import (
    "demofunc01/utils"
    "fmt"
)
func main() {
    var n1 float64 = 2.3
    var n2 float64 = 4.5
    var operator byte = '+'
    //调用的时候是 包名.函数名
    result := utils.Cal(n1, n2, operator)
    fmt.Println("result=", result)
}

3、utils.go代码

package utils
import (
    "fmt"
)
//Cal函数名大写是公有,小写是私有
func Cal(n1 float64, n2 float64, operator byte) float64 {
    var res float64
    switch operator {
    case '+':
        res = n1 + n2
    case '-':
        res = n1 - n2
    case '*':
        res = n1 * n2
    case '/':
        res = n1 / n2
    default:
        fmt.Println("操作符错误")
    }
    return res
}

你可能感兴趣的:(go 包)