Golang基础值自定义包——李文周老师 - Go语言中文社区

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中的类,为了更好的可扩展性!
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41580831/article/details/104103205
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 01:58:15
  • 阅读 ( 1052 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢