golang快速入门-概述

是什么?

  • Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算, 并具有垃圾回收功能的编程语言。

描述

  • Go 的语法接近 C 语言,但对于变量的声明有所不同。Go 支持垃圾回收功能。Go 的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括 Occam 和 Limbo,但它也具有 Pi 运算的特征,比如通道传输。在 1.8 版本中开放插件(Plugin)的支持,这意味着现在能从 Go 中动态加载部分函数。

  • 与 C++相比,Go 并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0 版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。

  • 不同于 Java,Go 内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。

Go 语言特色

  • 简洁、快速、安全
  • 并行、有趣、开源
  • 内存管理、数组安全、编译迅速

环境安装

Go命令

go build

  • go build 命令主要是用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包
    • 如果是普通包,当你执行go build命令后,不会产生任何文件
    • 如果是main包,当只执行go build命令后,会在当前目录下生成一个可执行文件。如果需要在$GOPATH/bin木下生成相应的exe文件,需要执行go install 或者使用 go build -o 路径/a.exe
    • 如果某个文件夹下有多个文件,而你只想编译其中某一个文件,可以在 go build 之后加上文件名,例如 go build a.go;go build 命令默认会编译当前目录下的所有go文件
    • go build 会忽略目录下以”_”或者”.”开头的go文件
go build -mod=mod // build go.mod文件

go clean

  • go clean 命令是用来移除当前源码包里面编译生成的文件,这些文件包括

    • _obj/ 旧的object目录,由Makefiles遗留
    • _test/ 旧的test目录,由Makefiles遗留
    • _testmain.go 旧的gotest文件,由Makefiles遗留
    • test.out 旧的test记录,由Makefiles遗留
    • build.out 旧的test记录,由Makefiles遗留
    • *.[568ao] object文件,由Makefiles遗留
    • DIR(.exe) 由 go build 产生
    • DIR.test(.exe) 由 go test -c 产生
    • MAINFILE(.exe) 由 go build MAINFILE.go产生

go fmt

  • go fmt 命令主要是用来帮你格式化所写好的代码文件。
  • 例如:go fmt test.go

go get

  • go get 命令主要是用来动态获取远程代码包
  • 这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行go install

go install

  • go install 命令在内部实际上分成了两步操作:第一步是生成结果文件(可执行文件或者.a包),第二步会把编译好的结果移到 $GOPATH/pkg 或者 $GOPATH/bin。
  • .exe文件: 一般是 go install 带main函数的go文件产生的,有函数入口,所有可以直接运行。
  • .a应用包: 一般是 go install 不包含main函数的go文件产生的,没有函数入口,只能被调用。

go test

  • go test 命令,会自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件

go doc

  • go doc 命令其实就是一个很强大的文档工具。
  • 执行go doc net/http可以查看http文档

go env

  • 查看当前go的环境变量
go env -w GOPROXY=https://goproxy.io,direct  // 使用国内七牛云代理
go env -w GOPRIVATE=https://gitlab.com // 私有仓库

go list

  • 列出当前全部安装的package

go run

  • 编译并运行Go程序

什么是GOROOT与GOPATH

  • GOROOT是golang 的安装路径,安装环境后就已经定了
  • GOPATH理解为工作目录
    • bin // golang编译可执行文件存放路径
    • pkg // golang编译包时,生成的.a文件存放路径
    • src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值