seaconch 最近在学习 Go 语言编程,基础部分还没有看完,不过只看不练,或者只过一遍还是感觉不够牢固,所以决定通过文章来记录、并且梳理一下已了解过的知识。
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简单点来说:
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 在学习中遇到的问题总结,希望能帮到大家。
