Go基础初识Go语言

Posted Ricky_0528

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go基础初识Go语言相关的知识,希望对你有一定的参考价值。

文章目录

1. 开发环境搭建

  • 在 https://studygolang.com/dl 上下载需要的Go稳定版本,这里我选择的是17.5的版本
  • 对于Windows和macOS用户,直接双击即可安装,留意一下安装路径;对于Linux用户,直接解压安装包即可,如果你打算把go安装到/usr/local目录下,则使用命令tar zxvf goxxx.tar.gz –C /usr/local,这样go标准库及相关的可执行文件就安装到了/usr/local/go目录下
  • 在任意目录下创建一个空目录go_path,将来用于存放go语言第三方库文件,在go_path目录下新建3个子目录:src、bin、pkg
  • 将上面两步得到的目录添加到环境变量GOROOT和ROPATH中去
    • 对于Linux和macOS,可以在~/.bashrc文件中追加以下几行
    export GOROOT=/usr/local/go
    export GOPATH=/data/go_path
    export PATH=$PATH:$GOROOT/bin: :$GOPATH/bin
    
    • 对于Windows,编辑系统的环境变量,添加并修改PATH环境变量即可

    • 在Windows下还可以通过go env -w来设置环境变量,比如设置GOPROXY可以使用go env -w GOPROXY=https://goproxy.cn,direct

  • 有很多网站支持在线编辑Go代码并查看运行结果,仅仅适合用来学习,并不可用于生产
    • https://play.golang.wiki
    • https://play.studygolang.com
    • https://goplay.space
    • https://goplay.tools
  • 集成开发环境可以选择VSCode和GoLand,前者是免费的,但需要安装额外的Go插件

2. 第一个Go程序

package main​

import (
   "fmt"
)func main() 
   fmt.Println("Hello World")

main函数是Go程序的唯一入口,且main函数必须位于package main中;fmt是Go标准库中的一个package,该package下有一个Println()函数用于输出字符串。Go语言会依次从以下3个目录里查找依赖包:

  • 当前工作目录
  • GOPATH/pkg/mod
  • GOROOT/src

3. Go命令介绍

  • 查看帮助文档:go help order_name

  • 对源代码和依赖的文件进行打包,生成可执行文件:go build entrance/demo.go -o go_exe

  • 编译并安装包或依赖,安装到GOPATH/bin目录下:go install entrance/demo.go

  • 把依赖库添加到当前module中,如果本机之前从未下载过则会先下载:go get github.com/tinylib/msgp

    该命令会在GOPATH/pkg/mod目录下生成github.com/tinylib/msgp

  • 安装依赖库,生成可执行文件:go install github.com/tinylib/msgp@latest

    该命令会在GOPATH/bin下生成msgp.exe可执行文件

  • 初始化一个Go项目:go mod init project_name

  • 整理依赖:go mod tidy

    该命令通过扫描当前项目中的所有代码来添加未被记录的依赖至go.mod文件或从go.mod文件中删除不再被使用的依赖

  • 编译并运行程序:go run

  • 执行测试代码:go test

  • 执行Go自带的工具:go tool

    • go tool pprof:对CPU、内存、协程进行监控
    • go tool trace:跟踪协程的执行过程
  • 检查代码中的静态错误:go vet

  • 对代码进行格式化:go fmt

  • 查看Go标准库或第三方库的帮助文档:go doc

  • 查看Go版本号:go version

  • 查看Go环境:go env

以上是关于Go基础初识Go语言的主要内容,如果未能解决你的问题,请参考以下文章

初识 go 语言

初识Go语言

Go语言学习之旅--初识GoLang

[学习记录]初识go语言

Go语言切片初识

初识 go 语言:语法