Skip to main content

Introduction

Golang

  1. Go也称Golang,是Google开源的一门静态强类型、编译型语言。
  2. 于2007年9月开始设计,2009年11月正式发布。
  3. 由Rob Pike、Robert Griesemer、Ken Thompson共同设计。
    • Rob Pike:Google首席软件工程师,UTF-8发明人。
    • Robert Griesemer:参与JavaScript V8引擎与Java HotSpot虚拟机研发。
    • Ken Thompson:Unix发明者、B语言设计者、图灵奖得主、UTF-8发明人。
  4. 并发协程设计,接近C的运行效率与PHP的开发效率。
  5. 替代C++,推崇C语言的编码简洁与Python的小巧易用。

Go的特点

  1. 语法简洁,开发高效。
  2. 参考C语言的编码简洁与Python的小巧易用。
  3. 性能优秀,部署简单。
  4. 并发编程高效Goroutine
  5. 编译速度快。

执行过程

Go的应用场景

  1. Web开发、微服务、并发编程。
  2. 容器技术、中间件、分布式系统。
  3. 区块链、云计算平台。
  4. 数据处理、大数据、数据库编程。

安装与配置

安装

可在Go官网选择合适的平台进行下载。macOS系统下还可选择Homebrew包管理工具进行安装:

brew install go

安装后可通过命令查看是否安装成功:

go version

开发工具

官方网站

常用命令

  • go build main.go 编译并生成可执行文件,命令行目录在哪个文件夹下,可执行文件就生成在哪个文件下。
  • go run main.go 运行Go程序,无论有没有可执行文件,都会先编译再运行程序。
  • go mod init projectName 初始化项目,创建go.mod文件(包管理工具)。
  • go get url 下载并安装包与其依赖项。
  • go install 编译与安装包。
  • go clean 删除源码包和关联源码包里编译生成的文件。
  • go doc 查看文档。
  • go env 查看Go环境变量。
  • go fmt 格式化文档。
  • go version 查看Go当前的版本。
  • go tool 查看Go工具。

代码结构

Go项目代码结构大致如下:

Go项目代码结构

  1. 项目名称: my-project,一个文件夹。
  2. 包名称: calculator,一个文件夹。
  3. 模块名称: logic.go,一个.go文件。
  4. 项目配置: go.mod
  5. 入口文件: main.go,一个.go文件。

注意点

  1. main方法的文件,必须要有package main声明。
  2. 一个文件中只允许有一个main
  3. 一个文件夹下同级目录不推荐有多个main方法。
  4. 当运行.go文件时,main方法会自动被调用。
  5. 一个包内部调用,不需要包名引导。
  6. 不同包之间调用方法,需要有包名引导。
  7. main包文件下,如果没有定义main方法,那么该文件的程序无法执行。