Go 包的原理和使用

Go 包的原理和使用

  • 包的引出
    • 在实际的开发中,我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如 main.go中,去使用 utils.go 文件中的函数,如何实现? --> 包
    • 现在有两个程序员共同开发一个 Go 项目。程序员 xiaoming 希望定义函数 Cal ,程序员 xiaoqiang也想定义函数也叫 Cal。两个程序员为此还吵了起来,怎么办?  --> 包
  • 包的原理图
    • 包的本质实际上就是创建不同的文件夹,来存放程序文件
    • 包的原理图

Go 包的原理和使用_第1张图片

Go 包的原理和使用_第2张图片


  • 包的基本概念
    • go 的每一个文件都是属于一个包的
    • 也就是说 go 是以包的形式来管理文件和项目目录结构的
  • 包的三大作用
    • 区分相同名字的函数、变量等标识符
    • 当程序文件很多时,可以很好的管理项目
    • 控制函数、变量等访问范围,即作用域
  • 包的相关说明
    • 打包基本语法
      • package 包名
    • 引入包的基本语法
      • import "包的路径"

  • 案例演示
    • 项目结构:

Go 包的原理和使用_第3张图片

  • utils.go 文件
package utils 
import (
	"fmt"
)

//将计算的功能,放到一个函数中,然后在需要使用,调用即可
//为了让其它包的文件使用Cal函数,需要将C大小类似其它语言的public
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
}
  • main.go文件
package main
import (
	"fmt"
	"go_code/chapter06/fundemo01/utils"
)


func main() {

	var n1 float64 = 1.2
	var n2 float64 = 2.3
	var operator byte = '+'
        //调用Cal函数
	result := utils.Cal(n1, n2 , operator) 
	fmt.Println("result =", result)
}

 

你可能感兴趣的:(Golang基础,go)