go语言笔记(一)包

go语言笔记(一)包

包(命名空间)

1.基本概念

go的每一个文件都属于一个包(文件夹),go是以包的形式来管理文件和项目目录结构的

2.包的作用

1.区分相同名字的函数、变量等标识符

2.当程序文件很多时,可以很好地管理项目

3.控制函数、变量的作用域

3.代码指令

package xx//打包

imoport "yy"//导入yy包

4.包的使用

-GOPATH
	-bin
	-pkg
	-src
		-projectA // 项目文件夹
			-utils //utils包
				-utils.go
			-main.go //实际上属于main包
//utils.go文件
package utils

import(
	"fmt"
)

//将计算的功能放到一个函数中,然后在需要使用的时候调用
func Cal(n1 float64, n2 float64, operator string) float64 {//Cal首字母必须大写,否则不能被包外调用***
    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
}
package main

import(
	"fmt"
	"shangguigu/demo_pkg/utils"//此处shangguigu/demo_pkg即为项目文件夹
)

func main(){
	//需求:输入两个数,在输入一个运算符,得到结果
	var n1, n2 float64
	var op string
	// var n1,n2 float64 = 1.2, 3.1 
	// var op string = '+' 
	result := utils.Cal(n1, n2, op)
	fmt.Printf("%.2f", result)
}

5.包的注意事项和细节

1.在给一个文件打包时,该包对应一个文件夹。文件的包名通常和所在文件夹名一致,一般为小写字母。

2.当一个文件要使用其他包中的函数或变量,必须先import

import "xx"//引入单个包

import (
    "xx"
    "yy"
)//引入多个包

3.路径从src下开始,不用带src

4.需要跨包调用的函数/变量一定要首字母大写

5.调用其他包函数的语法: 包名.函数名/变量名

6.包名较长时可以给包取别名,一旦取了别名,原名无法使用

import abc "aa/bb/aabbcc" //原名是aabbcc,别名是abc

abc.x()//正确运行
aabbcc.x()//报错

7.同一个包下不能有重复的函数名/全局变量名,会报错重复定义

8.main包只能有一个,其中包含程序的入口main函数,编译后会生成bin文件夹中的可执行文件。其他的包只生成.a库文件,编译后会出现在pkg文件夹中

go build -o bin/自己编辑的文件名.exe 路径/main.go
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

洞爷湖dyh

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

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

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

打赏作者

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

抵扣说明:

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

余额充值