前言

Go(又称 Golang)是 Google 开发的一种动态强类型、编译型、并发型,并具备垃圾回收性能的编程语言。Go 被誉为是将来的服务器端编程语言。

Go是一门全新的动态类型开发语言,具备主动垃圾回收,丰盛的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等个性。

特色:

  • 简洁、疾速、平安
  • 并行、乏味、开源
  • 内存治理、数组平安、编译迅速

GOROOT

其实就是golang 的装置门路

当你装置好golang之后其实这个就曾经有了

GOPATH

go命令依赖一个重要的环境变量:GOPATH

GOPATH容许多个目录,当有多个目录时,请留神分隔符,多个目录的时候Windows是分号;

当有多个GOPATH时默认将go get获取的包寄存在第一个目录下

GOBIN

go install编译寄存门路。不容许设置多个门路。能够为空。为空时则遵循“约定优于配置”准则,可执行文件放在各自GOPATH目录的bin文件夹中(前提是:package main的main函数文件不能间接放到GOPATHsrc上面。

GOPATH目录约定有三个子目录

  1. src:寄存源代码(比方:.go .c .h .s等) 依照golang默认约定,go rungo install等命令的当前工作门路(即在此门路下执行上述命令)。
  2. pkg:编译时生成的两头文件(比方:.a)  golang编译包时
  3. bin:编译后生成的可执行文件(为了不便,能够把此目录退出到 $PATH 变量中,如果有多个gopath,那么应用${GOPATH//://bin:}/bin增加所有的bin目录)

目录构造布局

GOPATH下的src目录就是接下来开发程序的次要目录,所有的源码都是放在这个目录上面,那么个别咱们的做法就是一个目录一个我的项目,

例如:

$GOPATH/src/myproject 示意myproject这个利用包或者可执行利用,这个依据package是main还是其余来决定,main的话就是可执行利用,其余的话就是利用包,这个会在后续具体介绍package。

go get 和go install

go get会做两件事:

  1. 从近程下载须要用到的包
  2. 执行go install

go install 会生成可执行文件间接放到bin目录下,当然这是有前提的

你编译的是可执行文件,如果是一个一般的包,会被编译生成到pkg目录下该文件是.a结尾

go 整体开发目录

不应用 go mod 的形式,我的项目全在 $GOPATH/src

go_project     // go_project为GOPATH目录  -- bin     -- myApp1  // 编译生成     -- myApp2  // 编译生成     -- myApp3  // 编译生成  -- pkg  -- src     -- myApp1     // project1        -- models        -- controllers        -- others        -- main.go      -- myApp2     // project2        -- models        -- controllers        -- others        -- main.go      -- myApp3     // project3        -- models        -- controllers        -- others        -- main.go

我是 甜点cc

酷爱前端,也喜爱专研各种跟本职工作关系不大的技术,技术、产品趣味宽泛且浓重,期待着一个守业机会。本号次要致力于分享集体经验总结,心愿能够给一小部分人一些渺小帮忙。

心愿能和大家一起致力营造一个良好的学习气氛,为了集体和家庭、为了我国的互联网物联网技术、数字化转型、数字经济倒退做一点点奉献。数风流人物还看中国、看今朝、看你我。

本文由mdnice多平台公布