GO-初识包管理

  • 初识包管理,知道项目中文件和文件夹之间的关系 
  • 输出,代码,在go编译器运行时会显示在屏幕中
  • 初识数据类型
整型,数字。例如:1、2、3、4
字符串类型,表示文本信息的。例如:“张三”“李四”
布尔类型,真假。例如: 1>2
  • 变量&常量,当做是昵称。 
  • 输入,让用户输入内容  
  • 条件语句,开发一个猜数字程序,用户输入数字与咱们定义的数字进行比较  
包管理
关于包管理的总结:
  • 一个文件夹可以称为一个包 
  • 在文件夹(包)中可以创建多个文件 
  • 在同一个包下的每个文件中必须指定‘包名称’且相同 

我们来重新建一个文件 

来比对一下 

这两个go文件 都是package main 

那么我们的这个包的名字就是main 


比如说我们在src这个文件夹下又创建了一个文件夹  叫zyc
在zyc这个文件夹下面我们再创建两个go文件 
在zyc这个文件夹下面的go文件,他们都叫zyc,也可以叫其他名字,但是baidu.go和bilibili.go必须保持一致,因为他们都在zyc这个文件夹,也就是这个包里面 

关于包的分类
  • main包  如果是main包,则必须写一个main函数,此函数就是项目的入口 (main主函数)。编译生成的是一个可执行文件 
func main() {
    fmt.Println("Hello go")
}
  • 非main包  用来将我们的代码进行分类,分别放在不同的包
我们现在来做一个小实验 
我们重新编辑一下world.go文件  
文件内容如下 
package main


import "fmt"


func Add() {
    fmt.Println("我是world.go的Add功能")
}
编辑完之后我们去往hello.go文件内添加以下字段,直接调用world.go
package main
import "fmt"
func main() {
    fmt.Println("Hello go")
    Add()
}

运行结果如下

运行结果如下
GOROOT=D:\Go #gosetup
GOPATH=C:\Users\YANG\go #gosetup
D:\Go\bin\go.exe build -o C:\Users\YANG\AppData\Local\JetBrains\GoLand2023.3\tmp\GoLand\___go_build_czy.exe czy #gosetup
C:\Users\YANG\AppData\Local\JetBrains\GoLand2023.3\tmp\GoLand\___go_build_czy.exe
Hello go
我是world.go的Add功能
从上面的图片中我们可以看出,这里所运行的不是单个hello.go这个文件,而是将czy这整个目录,整个包一起运行 

现在我们再在czy这个目录下重新创建一个新的目录 zyc
创建两个go文件,baidu.go  google.go

从上面的图片中我们可以看出,这里所运行的不是单个hello.go这个文件,而是将czy这整个目录,整个包一起运行 

现在我们再在czy这个目录下重新创建一个新的目录 zyc

创建两个go文件,baidu.go  google.go

baidu.go内容如下 

package zyc


import "fmt"


func Baidu() {
    fmt.Println("我是百度")
}

google.go内容如下 

package zyc


import "fmt"


func Google() {
    fmt.Println("我是谷歌")
}

现在我们回到hello.go文件内 

这个时候如果我们要调用baidu.go的功能的话 

我们只需要这样即可

而当我们打出zyc.Baidu()的时候,系统会自动给我们添加这行字段 

自动导入了这个包 


运行结果如下 

GOROOT=D:\Go #gosetup
GOPATH=C:\Users\YANG\go #gosetup
D:\Go\bin\go.exe build -o C:\Users\YANG\AppData\Local\JetBrains\GoLand2023.3\tmp\GoLand\___go_build_czy.exe czy #gosetup
C:\Users\YANG\AppData\Local\JetBrains\GoLand2023.3\tmp\GoLand\___go_build_czy.exe
Hello go
我是world.go的Add功能
我是百度
我是谷歌

到了这里我们需要注意一下

如果是package main  因为他们两都是属于同一个包,所以在调用功能的时候不需要说导入某个包

而如果是其他的包 

那么你就需要先把这个包导入进来,然后才能再调用功能 就如上面我演示的那样 

PS:注意事项 

在私下里面去写代码的时候,在每个文件夹里面编写功能的时候,首字母要大写

如果你是大写的话,那么就认为这是一个公有的功能,外部就可以调用

如果你写的是小写的话就意味着这个功能只能在当前的自己的包里面使用,外部是无法调用的 。后面的内容知识点我会再去细讲 

相关推荐

  1. Cargo-Rust的管理

    2024-03-23 15:08:02       59 阅读
  2. Go】依赖管理

    2024-03-23 15:08:02       46 阅读
  3. C++阶:浅内存管理

    2024-03-23 15:08:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 15:08:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 15:08:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 15:08:02       82 阅读
  4. Python语言-面向对象

    2024-03-23 15:08:02       91 阅读

热门阅读

  1. 富格林:拆穿黑幕套路维护资金安全

    2024-03-23 15:08:02       43 阅读
  2. zynq Lwip学习笔记-recv_callback函数

    2024-03-23 15:08:02       41 阅读
  3. 大数据的实时计算和离线计算你理解吗?

    2024-03-23 15:08:02       39 阅读
  4. 应用日志集成到ElasticSearch

    2024-03-23 15:08:02       37 阅读
  5. 防火墙(讲解)

    2024-03-23 15:08:02       42 阅读
  6. 设计模式: 外观模式

    2024-03-23 15:08:02       42 阅读
  7. 网络通信过程中为什么需要连接池?

    2024-03-23 15:08:02       38 阅读
  8. Vue-live2d在项目中展示Live2D 模型

    2024-03-23 15:08:02       42 阅读
  9. odoo字段访问控制

    2024-03-23 15:08:02       39 阅读
  10. VUE父子组件的传参问题

    2024-03-23 15:08:02       44 阅读
  11. 5 数据分析——matplotlib

    2024-03-23 15:08:02       36 阅读
  12. 【Qt5】QVariant

    2024-03-23 15:08:02       36 阅读
  13. 渔夫码头密语: 记录使用 Docker 安装 Wordpress

    2024-03-23 15:08:02       45 阅读
  14. ARP攻击是什么

    2024-03-23 15:08:02       45 阅读