在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一.函数的基本介绍1.为什么使用函数(1)代码冗余 (2)不利于维护 (3)函数可以解决这个问题
2.函数的定义为完成某一功能的程序指令(语句)的集合,称为函数。 在GO中,函数分为:自定义函数、系统函数
基本语法: func 函数名 (形参列表) (返回值类型列表) { 执行语句 return 返回值列表 }
1)形参列表:表示函数的输入 2)函数中的语句:表示为了实现某一个功能代码块 3)函数可以有返回值,也可以没有 举例: package main import "fmt" 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 } func main() { // var n1 float64 = 1.2 var n2 float64 = 2.3 var operator byte = '-' result := cal(n1,n2,operator) fmt.Println("res=",result) } 二.包的基本介绍1.包的引出(1)在实际开发中,我们往往需要在不同的文件中,去调用其它文件的定义函数,比如main.go 中,去使用utils.go文件中的函数 (2)不同开发者的函数名取的也是有可能相同的
2.包的基本概念
说明:go的每一个文件都是属于一个包的,也就是说go是以包的形式来管理文件和项目目录结构的。
3.包的介绍
包的三大作用
(1)区分相同名字的函数、变量等标识符
(2)当程序文件很多时,可以很好的管理项目
(3)控制函数、变量等访问范围,即作用域
包的相关说明
包需要开头首字母大写才能被使用。
打包的基本语法
package utils
引包的基本语法
import “包的路径”
4.一个基本引包的例子
目录结果如上图
其中utils.go内代码是:
package utils import "fmt" 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" "gotest01/chapter_06/oa_demo/utils" // 默认从src开始 // 注意这个utils是文件夹的名字 ) func main() { // var n1 float64 = 1.2 var n2 float64 = 2.3 var operator byte = '-' result := utils.Cal(n1,n2,operator) // 这个utils是utils.go下package 后面的名字 fmt.Println("result=",result) }
此demo绝对路径为:C:\gostu\code\src\gotest01\chapter_06\oa_demo\ 导包的路径需要从src目录下开始导包 最后运行结果为:
5.包的主要事项和使用细节(1)在给文件打包时,该包对应一个文件夹,比如utils文件对应的包名就是utils,文件的包名通常和文件所在的文件夹名一直,一般为小写字母。[不是一定的] (2)当一个文件要使用其他包函数或变量时,需要先引入对应的包[包名是另外一个文件package后面的那个名字] 1)引入方式1: import “包名” 2)引入方式2: import ( “包名1” “包名2” ) 3)package 指定在文件第一行,然后是import指令。 4)在import包时,路径从$GOPATH的src下开始,不用带src,编译器会自动从src下开始引入。 (3)为了其他包的文件,可以访问到本报的函数的首字母需要大写,类似其他语言的类。这样才能跨包访问。[变量想要被其他包引用,变量也需要首字母大写] (4)在访问其他包函数或变量时,其语法为: 包名.函数名 包名.变量名 (5)如果包名较长,GO支持给包取别名,语法为: import 别名 “包路径” (6)在同一个包下不能有相同的函数名或变量名 (7)如果你要编译成一个可执行程序文件,就需要将这个包声明为main,即package main 这个是语法规范,如果是写一个库可以自定义。 编译一个可执行文件,在$GOPATH下运行go build main包路径
|
请发表评论