#define  @  $

概述

  • Go 编码通常将所有代码放置在同一个工作区
  • 一个工作区包含多个版本仓库,使用 Git 等工具控制
  • 每个仓库包含一个或多个包
  • 每个包由同一目录中的一份或多份源代码组成
  • 包的路径决定了其对应的 import 路径

工作区

目录结构

  • src  放置 Go 源代码
  • pkg  放置 package
  • bin  放置可执行程序

  go 工具编译生成的文件将放置在 pkg 及 bin 目录下,pkg 目录结构会根据 src 目录结构自动生成;通常在 src 目录下子目录中建立 Git 仓库

GOPATH 环境变量

  • 使用 go env 获取当前的所有的 go 环境变量,也可以使用 go env GOPATH 查询单个变量的值
  • 若未设置 GOPATH 变量,则默认与 GOROOT 变量的值相同
  • 设置 go 变量
    • export GOPATH=@HOME/GO
    • export PATH=@PATH:@GOPATH/bin

import path

  • import path 用于唯一标识一个 package,package 的导入路径由它在本地工作区或远程 Git 仓库中的位置决定
  • 标准库中的 package 导入通常使用短路径,如: fmt、net/http 等
  • 如果将源代码放置在远程仓库中,那么 base path 建议设置为 github.com/kt10 之类的格式
  • 安装 go 程序至工作区的 bin 目录:go install github.com/kt10/hello,可以在任意目录执行(GOPATH 或 GOROOT 已设置),若已在 hello 目录中,可直接执行 go install
  • 不含 main 或 init 函数的代码,将打包成 .a 文件,作为库文件安装到 pkg 目录下(目录结构与源码对应),以 import github.com/kt10/xxx 的形式在其它代码中使用
  1. Go 程序都是静态链接的,可不依赖库文件独立运行
  2. 可独立运行的 Go 程序都必须 package main
  3. 系统范围内的 package 名称可重复,只要 import 导入的功能模块路径不重复即可
  4. 下载安装远程仓库中的包:  go get github.com/golang/example/hello

最新文章

  1. 转一个 Xcode 7 缺少 *.dylib库的解决方法
  2. Adobe Air移动开发本人体会
  3. Docker 基础命令 简要入门
  4. LSP遇到的问题
  5. HTML5中DOM元素的querySelector/querySelectorAll的工作机制
  6. 宏HASH_DELETE
  7. SQL GROUP BY GROUPING SETS,ROLLUP,CUBE(需求举例)
  8. 设计模式(十二)职责链模式(Chain of Responsibility)(对象行为型)
  9. Python Web框架篇:Django文件上传
  10. 移动GIS在企业各个行业中的应用解决方案
  11. Spark学习之在集群上运行Spark
  12. 熊猫ios手游直播教程 苹果投屏电脑
  13. 【转】 ISP-镜头阴影校正(LSC)
  14. epoll机制:epoll_create、epoll_ctl、epoll_wait、close
  15. 基于Ip的刷投票排名及刷百度推广的自动化实现
  16. Mac 下安装Ruby环境
  17. Docker部署Redis容器
  18. Python 数据类型:元组
  19. element-ui : <el-table> 按钮点击操作阻止@row-click
  20. 制作Windows XP万能克隆镜像

热门文章

  1. MySQL 小数处理函数 round 和 floor
  2. Web RTC录视频
  3. 【模板】fread读入优化 & fwrite输出优化
  4. 线性方程组迭代算法——Gauss-Seidel迭代算法的python实现
  5. Spark on YARN--WordCount、TopK
  6. collections库的namedtuple+pytest的使用
  7. spring基于注解的事务控制
  8. 结对编程收获——UI真的没有那么简单
  9. shell变量替换扩展 字符串计数截取
  10. JSP中调用Spring的方法