Go--包和调用


提示:以下是本篇文章正文内容,下面案例可供参考

一、包的引用

  • 包的本质实际上就是创建不同的文件夹,来存放程序文件
  • 画图说明一下包的原理
    • 在这里插入图片描述

1.1、包的基本概念

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

1.2、包的三大作用

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

1.3、包的相关说明

打包基本语法

package 包名

引入包的基本语法

import “包的路径”

二、包的引用

注意你的go.mod中的module 后面的名字,因为引用包都是以这个为开始
被引用的包的函数(方法)必须要第一个字母大写开头

1package 指令在 文件第一行,然后是 import 指令。
2、在 import 包时,路径从 $GOPATH 的 src 下开始,不用带 src , 编译器会自动从 src 下开始引入
3、 为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它语言
的 public ,这样才能跨包访问。

2.1、go.mod

  • 当我们建立一个go的项目时就会生成一个go.mod的文件

2.1.1、golang-idea建立go项目

在这里插入图片描述
在这里插入图片描述
我的第一个项目叫one然后生成的go.mode如下
在这里插入图片描述

导入包就要以 one/xxx 为开始,以后更改了go.mod中的module 后面的名称,import后面的也要更改

2.2、案例

项目名 one,在项目中新建两个目录main,和one,分别在里面新建main.go,和one.go
在这里插入图片描述
** one/one.go**

package one

import "fmt"

func Funone() {  // 方法名要大写开头
	fmt.Println("11111111111111")
}

main/main.go

package main

import "one/one" // 根据go.mod内的module中的值来导入

func main() {
	one.Funone()  // 调用one.Funone的方法
}

2.3、案例二

  • 新建一个项目CODES ,go.mod修改如下

在这里插入图片描述

  • 在项目的/src/go_codes/Basics/testthree/目录下新建 main 、one、 two目录
  • main目录新建main.go, one目录新建 one.go, onetest.go, two目录新建 two.go
  • 项目目录如下:
    • 在这里插入图片描述

one/one.go

package one

import "fmt"

func FuncOne() {
	fmt.Println("11111111111")
}

one/onetest.go

package one

func FuncOneTest() int {

	return 1
}

two/two.go


package two

func FuncTwo() {
	println("222222222222")
}

  • 可以注意下 onetest.go 和one.go都属于one这个package

main/main.go

package main

import (
	"fmt"

	// "github.com/Spyder-man-0814/gowork/src/go_codes/Basics/testthree/one"
	"go_module/src/go_codes/Basics/testthree/one"
	"go_module/src/go_codes/Basics/testthree/two"
)

func main() {
	fmt.Println("1111")
	one.FuncOne() //调用one/one.go 中的FuncOne方法
	n := one.FuncOneTest()   //调用one/onetest.go 中的FuncOneTest方法 ,FuncOneTest这个方法属于onetest.go 我们只需要找到对应的包one即可调用
	fmt.Println(n)
	two.FuncTwo()  //调用two/two.go 中的FuncTwo方法

}

2.4、调用只需要到具体的package即可不用到package下的目录

  • go和python、java不同调用只需要到package即可
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lovely_red_scarf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值