关于前端:Go-讲解GOROOTGOPATHGOBIN

30次阅读

共计 1440 个字符,预计需要花费 4 分钟才能阅读完成。

前言

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 多平台公布

正文完
 0