Go 第1章 概述 Go 第1章 概述

2019-08-29

一、设计初衷

  • 针对其他语言的痛点进行设计

  • 并加入并发编程

  • 为大数据,微服务,并发而生的通用编程语言

二、特点

  • 没有“对象”,没有继承多态,没有泛型,没有 try/catch

  • 有接口,函数式编程,CSP 并发模型(goroutine + channel)

三、学习资料

四、变量

  • $GOPATH:在 1.11 之前它是我们书写项目的工作目录,在1.11 之后它内部存储的是我们公共go.mod 下载的依赖包

  • $GOROOT:go 语言的安装目录,不需要我们配置

  • 其他打包时候会用到的

    • $GOARCH:表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm

    • $GOOS:表示目标机器的操作系统,它的值可以是 darwin、 freebsd、linux 或 windows

    • $GOARM:专门针对基于 arm 架构的处理器,它的值可以是5 或 6,默认为 6

    • $GOMAXPROCS:用于设置应用程序可使用的处理器个数与核数

  • GOPROXY:

  • GO111MODULE:

五、项目结构

  • 官方建议结构 pgk(包) bin(可执行文件) src(项目代码)

  • 1.11 版本以后,可以随意自己的结构,建议遵循官方

  • 一个 go 项目必须有一个 main 包、一个 main 函数

六、注释

  • // 单行注释

  • /* 范围注释*/

阅读 2889