-
初识包管理,知道项目中文件和文件夹之间的关系
-
输出,代码,在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:注意事项
在私下里面去写代码的时候,在每个文件夹里面编写功能的时候,首字母要大写
如果你是大写的话,那么就认为这是一个公有的功能,外部就可以调用
如果你写的是小写的话就意味着这个功能只能在当前的自己的包里面使用,外部是无法调用的 。后面的内容知识点我会再去细讲