Golang基础值自定义包——李文周老师

本小节讲的是自定义包的使用,我们从李老师的练习题引入。
练习题:编写一个clac包实现加减乘除四个功能函数,在snow这个包中导入并使用加减乘除四个函数实现数学运算。
题目不难,我先贴代码:

// main.go  程序入口
package main
import (
	"ex_package/calc"
	"fmt"
)
func main()  {
	fmt.Println(calc.Add(1,1))
	fmt.Println(calc.Sub(1, 1))
	fmt.Println(calc.Mul(1,2))
	fmt.Println(calc.Div(1, 0))
	fmt.Println(calc.Div(2, 1))
}
// calc.go
package calc
import "fmt"
func Add(a, b int) (res int) {         // 加
	res = a+b
	return
}
func Sub(a, b int) (res int ) {        // 减
	res = a - b
	return
}
func Mul(a, b int) (res int) {         // 乘
	res = a * b
	return
}
func Div(a, b int) (res int) {         // 除
	defer func() {
		err := recover()          // 以防除数为零的情况
		if err != nil {
			fmt.Print("除数不能为零!!!默认输出结果:")
		}
	}()
	res = a / b
	return
}

我的目录结构及运行截图:

在这里插入图片描述
截图虽丑,但是醒目嘛哈哈哈!以下是我遇到的几个坑:

  1. 目录结构这个我费了些功夫在网上查资料,有的说到改环境变量什么的,我懒嘛,就想自己弄出来这个。我坚持这样的目录结构与包导入方式(这个要命)去写,结果:在这里插入图片描述
    运行时报错!奇怪啦!包也找得到就是报路径错误,上网查一堆让改环境变量的文。不过我今天真是运气好!光标放到引用的函数上一个Alt+Enter试了下自导包,搞掂!!
    注意:小工程可以用俺这种方式用自定义包,大项目的话应该要慎重哟
  2. 变量与函数的可见性!
    按理说这个很好记:首字母大写外包才可见。可是用时候就给忘记了。包中的全局变量和函数也是以首字母大小写去分包外可见性的,首字母大写包外可见。
    这节内容不多,Golang的自定义包的使用让我想起了Java中的类,为了更好的可扩展性!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值