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. ES7.x mapping 类型

    在将ES从2.3 升级到7.3版本的过程中,mapping是一个过不去的坎,很多类型都发生了变化 7.x常用数据类型:text.keyword.number.array.range.boolean.d ...

  2. 基础网络之EfficientNet

    摘要: 一般情况下,我们都会根据当前的硬件资源来设计相应的卷积神经网络,如果资源升级,可以将模型结构放大以获取更好精度.我们系统地研究模型缩放并验证网络深度,宽度和分辨率之间的平衡以得到更好的性能表现 ...

  3. 简单介绍 Java 构造器

    导读 构造器是编程的强大组件.使用它们来释放 Java 的全部潜力. 在开源.跨平台编程领域,Java 无疑(?)是无可争议的重量级语言.尽管有许多伟大的跨平台框架,但很少有像 Java 那样统一和直 ...

  4. linux基础5-vi文本处理器

    三种模式下各自可以完成的操作: 一般模式:可以完成光标移动.删除单个和整行字.复制和黏贴,通过i.o.a.r这几个命令进入编辑模式 编辑模式:可以输入字符,通过esc返回一般模式 指令模式:读取文件, ...

  5. ASP.config配置

    使用ASP.NET搭建三层时候, 有Model (模型)DAL(数据访问层)    BLL(业务逻辑层)  连接数据库的DBhelper 放在DAL层 假如 你数据库密码改了,你要打开VS 找到DBh ...

  6. CP and Tucker Tensor Decomposition

    1.. 2..

  7. 如何将html页面导出word格式?

    近期做的项目也是奇葩,页面上需要导出excel,pdf,还有导出图片等...,刚把前几个怂好,还有下载成word文件,如何处理? function getOutword (id, fileName) ...

  8. RocketMQ原理分析 文章 精选【收集】

    一. 推荐文章 1.以下来自OSChina的 mingxungu https://itzones.cn/ RocketMQ运维监控 RocketMQ刷盘策略 RocketMQ消息重试 RocketMQ ...

  9. [转载]springboot--常用注解--@configration、@Bean

    springboot--常用注解--@configration.@Bean @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME ...

  10. Redis主从复制(读写分离)(四)

    Redis主从复制(读写分离) 克隆三台linux虚拟机   9.1.1.克隆虚拟机   9.1.2.生成新的mack地址 9.1.3.主从复制配置 redis主从复制 概述 1.redis的复制功能 ...