首页 > 其他分享 >GO语言之环境搭建和基本命令

GO语言之环境搭建和基本命令

时间:2023-01-21 17:12:27浏览次数:68  
标签:文件 语言 编译 路径 go GO GOPATH 目录 搭建

目录
image

go语言基础

下载go编译器

参考教程:https://www.cnblogs.com/Dominic-Ji/articles/11660121.html
下载地址:https://golang.google.cn/dl/
image
windos系统安装go,直接使用这个msi应用程序傻瓜式安装,一直下一步就好。

go目录简介

image

  • /bin:包含可执行文件,如:编译器,Go 工具
  • /doc:包含文档模版
  • /lib:包含示例程序,代码工具,本地文档等
  • /misc:包含与支持 Go 编辑器有关的配置文件以及 cgo 的示例
  • /os_arch:包含标准库的包的对象文件 (.a)
  • /src:包含源代码构建脚本和标准库的包的完整源代码(Go 是一门开源语言)
  • /src/cmd:包含 Go 和 C 的编译器和命令行脚本

gopath简介

gopath相当于是go语言的工作区。
image
GOPATH 默认采用和 $GOROOT 一样的值,但从 Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:srcpkgbin,这三个目录分别用于存放源码文件、包文件和可执行文件。
image
https://www.bilibili.com/video/BV1gf4y1r79E/?spm_id_from=333.337.search-card.all.click

环境变量配置

GOPATH

所有你写的源代码都应该放在%GOPATH%/src目录下。
这个gopath你是可以自己定义的
比如我就在d盘创建一个目录go_path。
文件夹下再创三个目录:binpkgsrc
image

配置 GOPATH:
image
在环境变量中指定你刚刚创建的文件夹位置

PATH

接下来配置path,需要在path中添加的路径有两个。
image

第一个是你下载的go程序(GOROOT)下的bin目录。(bin目录下有go编译器)
第二个是你创建的GOPATH路径。

配置完之后在命令可以执行go version查看是否成功:
image

go语言项目结构

对于个人开发者:
image
对于企业开发:
image

IDE下载与配置

安装goland

goland官网:https://www.jetbrains.com.cn/go/download/other.html
下载goland2021.3.5:
image
有弹窗就选择do not import。
又是熟悉的界面,验证激活码:
image
获取激活码:
https://www.mano100.cn/thread-1942-1-1.html
http://web.52shizhan.cn/ide?k=goland
image

goland里添加goroot和gopath

settings:
image
goroot:
image
gopath:
image

编写第一个GO程序

使用goland创建一个go项目(选择我们配置好的GOPATH路径):
image
新建一个go文件:
image
在文件内复制以下代码:

package main

import "fmt"

func main(){
    fmt.Println("Hello world!")   // 注意这个Println是大写开头
}

编译go文件

在项目路径下编译

使用命令行界面,在你的项目路径输入go build:
image
项目路径下多了一个exe文件:
image
这是个二进制的可执行文件,可以直接在命令行执行:
image

在其他路径编译

需要在go build命令后面添加路径。
比如当前我的项目路径如下:
image
我只需要输入以下代码即可编译:
image
为什么呢?因为我的项目路径在GOPATH的src目录内。
而GOPATH已经被配置到了环境变量内。

查看go是如何查找项目目录的:
image
编译产生的文件会出现在你的当前目录(这里的例子会出现在E盘):
image
pycharm配置编译后输出可执行文件的位置:
image

go相关命令

修改编译后文件的名字:
使用-o参数:go build -o new_name.exe

go run:执行go文件。(使用的比较少,推荐使用go build编译后再执行)

go install:相当于先执行go build,再把go build产生的exe文件拷贝到GOPATH的bin目录。
image

由于我们在环境变量配置了GOPATH,现在任何目录下都可以执行你install的exe文件。
image

跨平台编译

go语言支持跨平台编译。

假设当前我们开发代码是在windows下开发的,但是我们代码最终是要运行在linx服务器下。我们代码编译出的.exe文件是不能在liunx服务器上运行的。(go build产生的可执行文件是基于当前操作系统的可执行文件。)

交叉编译的概念:比如在windows上编译出一个可以在linux上能运行的二进制文件。
需要指定目标操作系统的平台和处理器架构即可:
image
步骤:
1.禁用CGO
2.设置目标平台
3.设置处理器(64或32)
示例:
image
再使用go build就可以编译出能在linux系统上运行的文件了。

标签:文件,语言,编译,路径,go,GO,GOPATH,目录,搭建
From: https://www.cnblogs.com/passion2021/p/17063908.html

相关文章

  • 一文学会 Go 的三个主流开发框架
    一文学会Go的三个主流开发框架前言本文介绍了三个Go主流开发框架GORM,Kitex,Hertz的基本使用方法,覆盖了ORM,RPC,HTTP三个领域。帮助读者快速入门Go工程开发。GORM......
  • 在Debian 11.3.X LXQT 中搭建ESP8266 IDF 开发环境
    安装前准备VMware®Workstation16ProV16.2.3build-19376536Debian11.3.XLXQT镜像镜像下载地址列表选择debian-live-11.3.0-amd64-lxqt.iso安装过程很简单......
  • 欠你们的 → k8s 集群搭建,除夕奉上!
    开心一刻有一天,qq收到一个好友申请,验证消息上写的是:哥哥加我,我是妹妹我以为是性骚扰,就没加,直接回了一句:我喜欢少妇过了一会儿,姑姑就给我打了个电话:你妹妹qq......
  • alpha shape algorithm
    一个求轮廓的算法analphavalue(0<α<∞)isaparameterimposingtheprecisionofthefinalboundary.Alargevalue(α->∞)resultsinthealphaboundaryo......
  • [数据结构] 队列 (C语言)
    队列队列基本概念队列(queue)是一种特殊的线性表结构,只从队尾插入新的元素,并且只从队首弹出元素。一般将队尾称为rear,队首称为front。队列基本操作(1)入队:从队尾re......
  • 关于海明码的问题(语言-c++)
    提问:   我头都大了,想了半天也没想出这个括号里面是怎么算出来的,有明白的吗,请赐教下。解答: 以下是一个C++编程实现海明码的示例:#include<iostream>#include<strin......
  • 搭建kafka集群
    1、创建三个server.properties文件,修改以下核心配置:#核心配置1:修改broker节点,012broker.id=2#核心配置2:修改监听端口//909290939094listeners=PLAINTEXT://192.1......
  • SRS流媒体服务器——SRS4.0 WebRTC一对一通话环境搭建与逻辑分析
    目录环境搭建SRS4.0WebRTC1对1通话逻辑分析环境搭建1.安装go语⾔环境在Go语言官网找到对应的安装包(https://golang.google.cn/dl/)下载和解析(使用的是阿里云的Ub......
  • (17)go-micro微服务Prometheus监控
    目录一Prometheus监控介绍1.微服务监控系统promethues介绍2.微服务监控系统promethues工作流程二Prometheus监控重要组件和重要概念1.微服务监控系统promethues重要组件2......
  • golang字典生成算法实现(全排列实现)
    packagemain//@Title main.go//@Description 入口文件//@Author xiao//@Update noneimport( "flag" "fmt" "log")//字典常量const( lowerCaseChar......