go介绍及安装

Don't communicate by sharing memory, share memory by communicating.
Concurrency is not parallelism.
Channels orchestrate; mutexes serialize.
The bigger the interface, the weaker the abstraction.
Make the zero value useful.
interface{} says nothing.
Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.
A little copying is better than a little dependency.
Syscall must always be guarded with build tags.
Cgo must always be guarded with build tags.
Cgo is not Go.
With the unsafe package there are no guarantees.
Clear is better than clever.
Reflection is never clear.
Errors are values.
Don't just check errors, handle them gracefully.
Design the architecture, name the components, document the details.
Documentation is for users.
Don't panic.
自动gc,只需new即可, 无需关注堆内存释放.
天然支持并发 - go关键字管理并发
channel - goroutine通信工具
多返回值
//设置GOPATH环境变量(1.8后默认就是$HOME/go)
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin //设置gopath里的目录
mkdir -p $GOPATH/src $GOPATH/pkg $GOPATH/bin 所有源代码位于 src(比较死板,所有的项目都放这里)
包对象位于 pkg(go get的包存放)
编译好的程序位于 bin
  • 几个环境变量说明
// GOROOT go程序安装目录
// GOPATH1.8之后默认 go path是 `$HOME/go`, vendor管理包时, 项目必须存放这下面才能找到依赖. 也可手动指定. - a. GOPATH是一个环境变量,用来表明go项目的存放路径, go get下载的包都放到了$GOPATH/src下
- b. GOPATH路径最好只设置一个,所有的项目都放到GOPATH的src目录下
- c. GOPATH的⽬目录结构介绍 声明: 如果使用go mod管理 gopath对项目放哪里及目录结构划分将变得毫无意义. 唯一的用处是存放第三方依赖 $HOME\pkg\mod
  • go命令
go run     快速执行go文件,就像执行脚本一样
go build 编译程序,生成二进制可执行文件
go install 安装可执行文件到bin目录(相当于go build+cp) go test 执行单元测试或压力测试
go env 显示go相关的环境变量
go fmt 格式化源代码

[go]包管理的更多相关文章

  1. ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用

    在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...

  2. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

  3. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

  4. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  5. 你需要知道的包管理器(Package Manager)

    最近我花了一点时间关注了在不同系统之中所用到的包管理器(Package Manager) .最开始的时候,我是在使用Linux操作系统时,对这种工具以及它背后的想法深深迷恋住了:这真是自由的软件世界. ...

  6. 包管理工具Carthage使用

    iOS项目中第三方开源库的工具有Cocoapods和Carthage,swift官方出了一个包管理工具SPM(Swift Package Manager). 首先,大体讲一下Cocoapods和Car ...

  7. RPM包管理命令rpm

    RPM包管理器是Linux系统中最早的软件包管理软件之一,也是目前最流行的软件包管理器,许多发行版都使用RPM作为默认的软件包管理软件. RPM软件包名称格式: samba-client-3.0.33 ...

  8. Node包管理工具

    Node包管理工具 只是简单的介绍一些工具的使用,有利于开发过程.除了介绍Node包管理工具,还介绍了前端打包工具,前端模块管理工具 Node包管理工具:    --npm    --cnpm    ...

  9. godep 包管理工具

    godep是解决包依赖的管理工具 安装 go get github.com/tools/godep 成功安装后,在GOPATH的bin目录下会有一个godep可执行的二进制文件,后面执行的命令都是用这 ...

  10. pycharm快捷键、常用设置、包管理

    pycharm快捷键.常用设置.包管理 在PyCharm安装目录 /opt/pycharm-3.4.1/help目录下可以找到ReferenceCard.pdf快捷键英文版说明 or 打开pychar ...

随机推荐

  1. python3学习特性

    一 实例变量与类变量 class Pepple: __age=18 __name="zhangfff" @classmethod def GetInfo(cls): print(c ...

  2. go爬虫之爬取豆瓣电影

    go爬取豆瓣电影 好久没使用go语言做个项目了,上午闲来无事花了点时间使用golang来爬取豆瓣top电影,这里我没有用colly框架而是自己设计简单流程.mark一下 思路 定义两个channel, ...

  3. (十一)tina | openwrt关闭调试串口(DEBUG UART)

    //编辑以下文件 vi target/allwinner/astar-parrot/base-files/etc/inittab  //不同系统文件路径注意更改 //文件内容如下,注释::askcon ...

  4. vue-element-admin跟springboot+shiro部署爬坑记

    今天把前端采用vue-element-admin与springboot的项目部署到正是线上,在开发线上很OK的,一放上去我的天啊,坑是真的多阿.下面听我一一道来:我这边采用的是nginx服务器部署. ...

  5. 车钥匙开关上找不到+24V的问题 - 岱峰 - DGY90

    背景: 本人外行,用万用表,在车身电路上查找电瓶正极. 机种:吊管机:机型:岱峰-DGY90 过程: 经过测试,车钥匙开关各连接点电压: 标记B - OFF时电压0,ON时电压+25V 标记BR - ...

  6. idou老师带教你学Istio 03: istio故障注入功能的介绍和使用

    故障注入测试 故障注入测试顾名思义就是当被测试应用部分组件或功能出现潜在故障时其本身的容错机制是否正常工作,以达到规避故障保证正常组件或功能的使用.Istio提供了HTTP故障注入功能,在http请求 ...

  7. APP移动测试

    (转自网络) App测试与传统台式机测试相比有一定的复杂性.这些复杂性可以被分类为: 环境(大量的设备,各种移动OSs,适应频繁OSs变化) . 设备(触摸式和非触摸式设备,有限的内存容量,电池耗电量 ...

  8. 【Java 基础实例—Bank 项目1】

    (上图Wie任务要求的UML结构) Account.java 文件: package Banking_1; public class Account { private double balance; ...

  9. go语言日期时间格式化

    原文: http://www.golangprograms.com/get-current-date-and-time-in-various-format-in-golang.html package ...

  10. python+Appium自动化:toast定位

    Toast简介 Toast是一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击. 用户将可能是在中间键入别的东西.Toast类的 ...