golang常用操作与命令

1.执行golang文件

go run hello_world.go

2.编译成可执行文件(交叉编译)

go build hello_world

则会生成hello_world可执行文件,即可直接运行
./hello_world

不同环境下的编译需要修改对应参数:
GOOS=linux
GOARCH=amd64

指定文件名称
go build -o hello.exe # 如果是window下的话 需要加上后面的后缀名

windows下设置方式:
set GOOS=windows; set GOARCH=amd64; go build  -v -ldflags "-w -s" -o golang-demo_windows.exe ./cmd/app/main.go

可能这种方式还是会有问题, 导致打包完成的二进制文件, 无法再Linux下正常执行
需要使用: go env -w GOOS=linux 进行设置相关参数即可, 打包完成之后, 记得改回来就行

-v: 打印编译过程
-ldflags: 链接选项,编译时候可以传入一些值作为配置golang应用
  -w: 去除调试信息
-s: 去除符号表
-X: 注入变量,编译时赋值
-w -s 一般同时使用,用来减少可执行文件袋额体检, 但删除了调试信息,可执行文件无法使用gdb/dlv调试

3.

go  test  ./...
go list ./... 这里的三个点作为通配符,标识当前目录及其子目录中的所有软件包

4.设置环境变量

// 设置代理
$env:GOPROXY = "https://goproxy.io,direct" // 或者使用 env -w
go env -w GOPROXY="https://goproxy.io,direct"

常用环境变量:

GOROOT
GOROOT 表示 Go 语言的安装目录。
GOROOT 的作用是用来索引 Go 语言的安装目录下的相关资源,比如 bin 目录的工具(如 go 命令),src 目录下的源码等。 GOPATH
GOPATH 用于指定我们的开发工作区,可以有多个。
按照 Go 开发规范,GOPATH 目录下一般分为三个子目录 src,pkg,bin。
src 目录存放我们需要开发的项目源码,
pkg 存放依赖的包和编译后的静态库文件,
bin 放源代码编译后台的可执行文件。 GO111MODULE
在 go1.11 的时候推出了这个 go modules 来解决依赖管理的问题。
通过变量 GO111MODULE 来控制 Go Module 的开启和关闭,取值 off、on 或 auto。
从 Go 1.13 开始,Go Module 作为 Golang 中的标准包管理器。 GOPROXY
go get 下载依赖时使用的代理地址列表,使用逗号 (,) 或竖杠 (|) 分隔。
当用 go 命令查找依赖模块时,它会按顺序访问 GOPROXY 列表中的每个代理,直到收到成功的响应或出现终端错误。
GOPROXY 中可能会存在两个关键字来代替代理URL:
off:不允许从任何源下载依赖的模块
direct: 直接从版本控制存储库下载,而不是使用模块代理
GOPROXY 缺省值为https://proxy.golang.org,direct。 GOPRIVATE
go get 通过代理服务拉取仓库时,因为代理服务不可能访问到私有仓库(一般为企业内部代码管理平台),会出现 404 错误。
go1.13 版本提供了一个方便的解决方案:GOPRIVATE 环境变量。 GOBIN
用于存储我们使用go install命令安装的程序。
如果没有设置 GOBIN,程序一般会安装到为GOPATH/bin目录。 GOOS
当前的操作系统。例如 linux、darwin、windows、netbsd、freebsd、openbsd、solaris、plan9 等。
注意 mac os对应的值是 darwin。 GOARCH
表示 CPU 架构。如 amd64、386、arm、ppc64 等。

  

golang之常用命令的更多相关文章

  1. GOLANG 常用命令

    golang常用命令: 命令 功能 build      编译包和依赖 run 编译并且直接运行 install 编译安装包和依赖 get 下载并安装包和依赖 fmt 调用gofmt格式化源码文件 d ...

  2. Hyperledger Fabric 常用命令

    Peer常用命令: #peer chaincode --help #peer channel list --help --logging-level <string> #<strin ...

  3. Linux命令整理,用户管理,用户组管理,系统管理,目录管理常用命令

    知识点梳理 Linux课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...

  4. Golang中常用的代码优化点

    Golang中常用的代码优化点 大家好,我是轩脉刃. 这篇想和大家聊一聊golang的常用代码写法.在golang中,如果大家不断在一线写代码,一定多多少少会有一些些代码的套路和经验.这些经验是代表你 ...

  5. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  6. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  7. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  8. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  9. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  10. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

随机推荐

  1. LeetCode 验证二叉搜索树的两种不同题型

    一.leetcode 98. 验证二叉搜索树 通过辅助函数增加参数进行判断. 虽然节点值在INT范围内,但要求其中序遍历序列严格单调递增,因此等于也不行,而且需要用LONG_MIN\LONG_MAX初 ...

  2. opencv equalizeHist

    ''' What are histograms? Histograms are collected counts of data organized into a set of predefined ...

  3. python之re库,正则表达

    一.前言 为什么要学re库呢?这里主要学他的正则表达,在编写安全脚本的时候肯定要遇到一些不规则的匹配规则,当然编写爬虫也少不了正则匹配去找到一些具有特殊特征的字符串.因此这是十分必要的,然而.re库使 ...

  4. CSS & JS Effect – Image 倒影框

    效果 Step1: HTML 结构 <div class="image"> <img src="./images/img-2.png" /&g ...

  5. linux 映射windows 下的共享文件夹

    linux 映射windows 下的共享文件夹     本文讯]2021年4月27日  在对接第三方系统,进行数据采集的时候,对方给了我们一个文件夹,里面全是txt文件,这个时候就要想办法获取他们数据 ...

  6. Nuxt Kit 实用工具的使用示例

    title: Nuxt Kit 实用工具的使用示例 date: 2024/9/25 updated: 2024/9/25 author: cmdragon excerpt: 摘要:本文介绍了Nuxt ...

  7. FirewallD is not running 原因与解决方法

    解决方法关于linux系统防火墙: centos5.centos6.redhat6系统自带的是iptables防火墙.centos7.redhat7自带firewall防火墙.ubuntu系统使用的是 ...

  8. C#查漏补缺----对象内存结构与布局

    环境变量 .Net Core 8.0 Windows 11 64位 内存布局 引用类型 在.NET中,数据会按照类型分为不同的对象,对于引用类型的实例,由一个对象标头(Object Header)和方 ...

  9. 【信创问题】解决东方通(TongWeb)报错 java.lang.NoClassDefFoundError: javax/persistence/spi/PersistenceProvider

    写在前边 今天帮现场同事定位问题,情况是项目同事使用东方通(TongWeb7.0)部署公司项目时,出现以下报错导致服务启动失败. 简单排查了下发现:war包内WEB-INF/lib/javax.per ...

  10. Visual Studio登录页面打不开无法登录的解决

    我也是折腾了好久-- 1. 打开Visual Studio-->工具-->选项-->账户,找到了登录配置 2. 将嵌入式Web浏览器改为"Windows身份认证中转站&qu ...