当前位置: 首页 > news >正文

Go语言开发环境搭建

#1024程序员节|征文#
image-20220529095459019

文档说明

本文作者:SwBack
创作时间:2022‎年‎6‎月‎8‎日 ‏‎18:46:21
知乎:https://www.zhihu.com/people/back-88-87
CSDN:https://blog.csdn.net/qq_30817059
百度搜索: SwBack

系统: Windows 11
go 1.18.2

安装包下载

安装包下载链接

image-20220528200811272

直接默认NEXT

查看Go版本

image-20220528200917358

查看Go变量

go env

image-20220528202553813

Go项目结构

在进行go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go buildgo install 、或go get 、等指令后会将下载的第三方包源代码文件放在$GOPATH/src目录下,产生的二进制 可执行文件放在$GOPATH/bin目录下,生成的中间缓存文件会被保存在$GOPATH/pkg

如果我们使用版本管理工具如Git 来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。binpkg 目录的内容无需版本控制。

适合个人开发者image-20220528205009227

流行的项目结构

image-20220528205200917

适合企业的结构

image-20220528205227646

Go开发编辑器

Go采用的时utf-8编码的文本文件。使用Vs Code编辑器。

环境配置

Vscode Go环境配置

首先需要下载Go的一些插件,因为默认地址为国外,所以要先修改下配置。打开命令提示符,依次执行以下命令

go env -w GOSUMDB=off
go env -w GOPROXY=https://goproxy.cn,direct

如果还是报错,可以将地址复制到命令提示符手动下载

image-20220529090206045

下载完成$GOPATH/bin目录下看到所下载的文件

image-20220529090344117

报错处理

如果在go build的过程中遇到如下错误

go: go.mod file not found in current directory or any parent directory; see 'go help modules' 

执行如下命令即可

go env -w GO111MODULE=auto 

image-20220529091559202

Go基本操作

编译

使用go build 在项目目录下执行,进行编译,生成exe文件,执行即可

image-20220529091833052

或者在任意目录带上$GOPATH/src 后地址 ,例如

go build swback.cn\swback\day01\helloworld

文件会生成在 执行命令的当前目录

Go run

直接执行.go文件

go install
1.先编译得到一个可执行文件2.将可执行文件拷贝到$GOPATH/bin

跨平台编译

默认我们go build的可执行文件都是当前操作系统的可执行文件,如果想要在windows 下编译一个linux可执行程序.只需要如下操作

指定目标操作系统的平台和处理器架构即可:

SET CGO_ENABLED=0 //禁用CGO
SET GOOS=linux //目标平台是linux
SET GOARCH=amd64 //目标处理器架构是amd64 一般无需操作

然后再执行go build命令,得到的就是能够再Linux平台运行的可执行文件了。

Windows 下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0 
SET GOOS=darwin 
SET GOARCH=amd64 
go build

Mac 下编译Linux 和Windows平台64位可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux下编译Mac和Windows平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

第一个Go程序 Hello World

package main  // 声明 main 包,表明当前是一个可执行程序import "fmt"  // 导入内置 fmt 包func main(){  // main函数,是程序执行的入口fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

通过go build编译之后,生成了一个exe文件 运行,输出Hello World!

image-20220529095459019

http://www.lryc.cn/news/467284.html

相关文章:

  • 嵌入式硬件设计:技术与实践
  • vue中使用echarts,导入JSON数据画图
  • 【C++篇】探索STL之美:熟悉使用String类
  • ETLCloud搭配MySQL | 让关系型数据库更智能
  • Java 开发——(上篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • Psychophysiology:脑-心交互如何影响个体的情绪体验?
  • FunASR实时语音识别内网部署 | 无网络环境中的实时语音识别 | 实时语音识别
  • 【设计模式-状态模式】
  • 【代码随想录Day50】图论Part02
  • 帝国CMS 内容页调用上一篇下一篇的方法(精华汇总)
  • (7)c++复合数据类型之数组
  • 2.1 > Shell 是什么、如何更熟练的使用 Bash Shell
  • YOLO V3 网络构架解析
  • 【zlm】 webrtc源码讲解(二)
  • 5G RedCap工业路由器赋能电力物联网应用
  • 029.浏览器自动化-抓取#document下的内容
  • 2024前端html5,css3面试题总汇
  • css实现外层不换行,内层换行
  • word取消自动单词首字母大写
  • flex常用固定搭配
  • Kafka、Kafka Streams、Drools、Redis 和分布式数据库的风控系统程序
  • C++在实际项目中的应用第一课:游戏开发中的C++
  • 一键下载海外youtbe视频 解锁版 支持多分辨率
  • Scala内部类的运用
  • 【在Linux世界中追寻伟大的One Piece】Socket编程UDP
  • 机器学习在聚合物及其复合材料中的应用与实践
  • 用大模型或者预训练模型对图片进行OCR
  • 如何使用的是github提供的Azure OpenAI服务
  • elementUI进度条el-progress不显示白色
  • 学习笔记——路由——IP组播-PIM(协议无关组播)-概述/PIM模式