前言
seaconch 最近在学习 Go 语言编程,基础部分还没有看完,不过只看不练,或者之过一遍还是感觉不够牢固,所以决定通过文章来记录、并且梳理一下已了解过的知识。
一.Go基础结构
1.基础
Go 编写的代码文件都以 .go
结尾。
这里假设我们有一个名为: main.go
的文件。
那想要将 main.go
生成一个可执行的应用程序,至少要是如下内容 :
package main
func main() {
}
编译生成
go build main.go
是可以通过的,成功的生成了 main.exe
。
只是这样做并没有任何意义,所以说真正意义上我们要编写一个 Go 程序 至少是下面这样的 :
package main
import "fmt"
func main() {
fmt.Println("hello go")
}
go build main.go
之后运行 main.exe
输出结果:
hello go
2.解释
简单点来说:
package main
:表示这个包叫 main
import "fmt"
:导入一个 fmt
包
func main () { ... }
: 一个叫 main
的函数
注意:
-
package
必须是有效代码的第一行 -
main包
只能有一个 -
import
导入的包,必须是被使用的 -
main 函数
在main 包
只能有一个,并且肯定要有一个
二.试一试
1.main包
所在文件必须叫 main.go
吗 ? 答案:不是
2.main包
可以写多个 .go
文件吗 ? 答案:可以
3.同目录
可以有多个包名吗 ? 答案:可以,但不可以同时编译
4.自定义包
应该如何规划目录? 答案:最好是将同一个包的不同文件(.go
)放在同一个目录,目录名建议以包名命名
5.自定义包
如何导入 main.go 中使用? 答案:自定义包需要添加相对路径,如:"./pkg_1",之后通过pkg_1.方法 / 属性
6.自定义包
可以有 Main
函数吗 ? 答案:可以,完全不受影响
7.自定义包
如何区分公共成员与私有成员 ? 答案:大写字母开头
公共,其他
私有
8.main包 分成多个.go文件
如何运行 ? 答案:windows 上 go run main_part1.go main_part2.go ...
有多少写多少,linux 上 go run *.go
(window没查到好方法)
以上都是 seaconch 在学习中遇到的问题总结,希望能帮到大家。
有疑问加站长微信联系(非本文作者)