【Go语言圣经1.1】

目标

学习Go 的编译方式、包的组织方式以及工具链的统一调用方式

概念与定义

  1. package
    • Go 语言通过包来组织代码。包类似于其它语言的库librarries或模块modules,每个包通常对应一个目录,目录中的所有 .go 文件都属于同一个包。
    • 特殊的 main 包 :
      当代码使用 package main 声明时,表示这是一个可独立执行的程序而非一个库。程序的执行入口就是 main 函数
  2. import
    • 通过 import 语句,编译器能够识别代码中所需的外部依赖,若导入错误或缺少必要包,程序将无法编译。这种机制保证了代码的整洁和依赖的明确性
  3. 主函数 func main
    • func main() 是程序的执行入口。所有可执行程序都必须包含一个 main 函数。一般情况下,main 函数会调用其它函数和包中的功能来实现实际业务逻辑
  4. 编译、运行与工具链:Go 语言是编译型语言,它会将源码编译为静态链接的二进制可执行文件。
  5. Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令 go 调用,go 命令有一系列子命令。
    • go run:临时编译与执行
      • 编译一个或多个以。.go 结尾的源文件,链接库文件,并运行最终生成的可执行文件,适合临时实验和调试。
    • go build:编译生成可执行二进制文件
      • 在 Linux 或 macOS 下,生成的文件名与源码文件相同;在 Windows 下则会加上 .exe 后缀。
      • 由于是静态编译,生成的可执行文件包含了所有依赖的代码(go程序可以独立运行),因此运行时无需担心系统库更新造成冲突或环境依赖问题,便于分发和部署。
    • 源码获取:go get。
      可以自动下载源码到 $GOPATH/src/... 目录。需要先安装版本管理工具(如 Git 或 Hg)并设置好 GOPATH 环境变量。
  6. 自动插入分号:编译器会根据特定符号后的换行符自动插入分号。这要求开发者在书写代码时注意换行位置,否则可能导致解析错误。
    • 函数的左大括号 { 必须与函数声明在同一行上。
    • 在表达式中,换行位置也有讲究:例如,在运算符 + 后换行通常不会有问题,而在运算符 + 前换行则可能被错误地插入分号。
  7. gofmt 工具会自动将代码格式化成统一的风格
    • 许多文本编辑器可以配置在保存文件时自动运行 gofmt,确保每次提交的代码都符合标准格式。

要点(案例)

package main

import "fmt"

func main(){
	fmt.Println("hello, world")
}

使用 go run helloworld.go 命令可以编译并立即运行该程序

运行 go build helloworld.go 会编译生成一个可执行二进制文件。

示例代码仓库托管在 gopl.io 上。通过 go get gopl.io/ch1/helloworld 命令,可以自动下载源码到 $GOPATH/src/gopl.io/ch1/helloworld 目录。需要先安装版本管理工具(如 Git 或 Hg)并设置好 GOPATH 环境变量。

文件中 package 声明必须位于最上方,紧随其后的是 import 声明。之后是函数func、变量var、常量const和类型type的声明。虽然这些声明的顺序不影响编译,但规范化的顺序有助于代码的可读性和维护性。

函数的定义由 func 关键字开始,后面跟上函数名、参数列表、返回值列表和函数体。

Go语言圣经》是一本广受好评的教材,旨在帮助读者系统地学习和掌握Go语言。这本书以简明清晰的方式介绍了Go语言的各种特性、语法和用法,是入门和进阶者的理想选择。 首先,该书提供了对Go语言基础知识的全面介绍。它从简单到复杂地解释了Go语言的基本概念,诸如变量、函数、循环和条件语句等等。通过丰富的例子和练习,读者能够逐步理解和掌握这些概念。 其次,该书详细介绍了Go语言的高级特性和用法。读者可以学习到Go语言的面向对象编程、并发编程、网络编程等关键技术。并发编程是Go语言的一个独特特性,对于提高程序性能和扩展能力非常重要。 此外,该书还包含了对常见问题和陷阱的讲解,帮助读者避免一些常见的错误和陷阱。同时,书中提供了大量的案例和实践项目,读者可以通过实际操作来巩固所学内容。 《Go语言圣经》以其简洁明了的风格和对细节的深入讲解而闻名。无论是作为初学者的入门指南,还是作为有经验的开发者的参考书,这本书都能满足读者的需求。此外,该书的PDF版本能够方便地在线或离线阅读,为读者提供了更加便捷的学习体验。 综上所述,《Go语言圣经》是一本内容丰富、权威性强的优秀教材。它不仅适合Go语言的初学者,也适用于那些想要深入学习和掌握Go语言开发者。无论是在线阅读还是PDF版本,读者都能够方便地获取和利用这本宝贵的学习资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值