go语言基础

下载go编译器

参考教程:https://www.cnblogs.com/Dominic-Ji/articles/11660121.html

下载地址:https://golang.google.cn/dl/



windos系统安装go,直接使用这个msi应用程序傻瓜式安装,一直下一步就好。

go目录简介

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

gopath简介

gopath相当于是go语言的工作区。



GOPATH 默认采用和 $GOROOT 一样的值,但从 Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:srcpkgbin,这三个目录分别用于存放源码文件、包文件和可执行文件。



https://www.bilibili.com/video/BV1gf4y1r79E/?spm_id_from=333.337.search-card.all.click

环境变量配置

GOPATH

所有你写的源代码都应该放在%GOPATH%/src目录下。

这个gopath你是可以自己定义的

比如我就在d盘创建一个目录go_path。

文件夹下再创三个目录:binpkgsrc

配置 GOPATH:



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

PATH

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

第一个是你下载的go程序(GOROOT)下的bin目录。(bin目录下有go编译器)

第二个是你创建的GOPATH路径。

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

go语言项目结构

对于个人开发者:



对于企业开发:

IDE下载与配置

安装goland

goland官网:https://www.jetbrains.com.cn/go/download/other.html

下载goland2021.3.5:



有弹窗就选择do not import。

又是熟悉的界面,验证激活码:



获取激活码:

https://www.mano100.cn/thread-1942-1-1.html

http://web.52shizhan.cn/ide?k=goland

goland里添加goroot和gopath

settings:



goroot:



gopath:

编写第一个GO程序

使用goland创建一个go项目(选择我们配置好的GOPATH路径):



新建一个go文件:



在文件内复制以下代码:

package main

import "fmt"

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

编译go文件

在项目路径下编译

使用命令行界面,在你的项目路径输入go build:



项目路径下多了一个exe文件:



这是个二进制的可执行文件,可以直接在命令行执行:

在其他路径编译

需要在go build命令后面添加路径。

比如当前我的项目路径如下:



我只需要输入以下代码即可编译:



为什么呢?因为我的项目路径在GOPATH的src目录内。

而GOPATH已经被配置到了环境变量内。

查看go是如何查找项目目录的:



编译产生的文件会出现在你的当前目录(这里的例子会出现在E盘):



pycharm配置编译后输出可执行文件的位置:

go相关命令

修改编译后文件的名字:

使用-o参数:go build -o new_name.exe

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

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

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

跨平台编译

go语言支持跨平台编译。

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

交叉编译的概念:比如在windows上编译出一个可以在linux上能运行的二进制文件。

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



步骤:

1.禁用CGO

2.设置目标平台

3.设置处理器(64或32)

示例:



再使用go build就可以编译出能在linux系统上运行的文件了。

GO语言之环境搭建和基本命令的更多相关文章

  1. windows下的go语言的环境搭建和初探

    闲话不说,直入主题. 1.准备工具 a.windows下的Go语言开发安装包 官方下载地址:https://code.google.com/p/go/downloads/list b.Go语言中文官网 ...

  2. 【Apache Pulsar】Apache Pulsar单机环境及Go语言开发环境搭建

    0x01 简介 Apache Pulsar是一个开源的分布式发布-订阅消息系统,与Kafka类似,但比后者更加强大.Pulsar最初由Yahoo开发并维护,目前已经成为Apache软件组织的一个孵化子 ...

  3. R语言开发环境搭建

    R语言开发环境搭建 一.环境 Win7 64bit系统 二.R软件下载 R 3.5.2 for Windows,官网:https://www.r-project.org/ RStudio 1.1.46 ...

  4. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

  5. Windows下Go语言的环境搭建

    在本地搭建了一个开发GO语言的开发环境,给大家分享一下用go语言写的第一个hello world的过程,希望对大家有所帮助. 1.想写GO语言首先得下载go语言的开发包 官方下载地址:https:// ...

  6. Go语言开发环境搭建

    1.Go的安装 (1)下载go安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是win ...

  7. 手把手教你Windows下Go语言的环境搭建

    1.想写GO语言首先得下载go语言的开发包 官方下载地址:https://code.google.com/p/go/downloads/list 我用的是Win7 64位的操作系统,截图如下: 2.把 ...

  8. R 语言开发环境搭建

    R 语言在统计计算和画图方面有着显著的优势,因此在大数据领域也有其一席之地. 本文将演示怎样搭建R 语言开发环境. 搭建R 语言开发环境,主要有两个步骤: - 安装 R 到操作系统 - 安装支持 R ...

  9. ubuntu16.04 Golang语言开发环境搭建

    golang即go语言是跨平台的语言,适用于windows 和linux平台,下面介绍linux平台下ubuntu16.04系统下的开发环境搭建过程. 一.安装开发必备环境 执行下面命令分别安装git ...

  10. win7下 go语言开发环境搭建(64bit)

    Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程 ...

随机推荐

  1. 26. 干货系列从零用Rust编写正反向代理,如何发布Rust项目到Docker

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现 ...

  2. KMeans算法全面解析与应用案例

    本文深入探讨了KMeans聚类算法的核心原理.实际应用.优缺点以及在文本聚类中的特殊用途,为您在聚类分析和自然语言处理方面提供有价值的见解和指导. 关注TechLead,分享AI全维度知识.作者拥有1 ...

  3. Educational Codeforces Round 118 (Rated for Div. 2) D. MEX Sequences

    \(DP\)真的太难了啊!! 首先考虑到\(f(i, s)\)表示,从前\(i\)个数中选,最后一个数为\(a_i\),且\(MEX(a_1,....,a_i) = \left\{ \begin{al ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (138)-- 算法导论11.4 2题

    二.用go语言,试写出HASH-DELETE 的伪代码;修改 HASH-INSERT,使之能处理特殊值DELETED. 文心一言: 首先,让我们定义一个基本的哈希表数据结构.这个结构将包括一个存储键值 ...

  5. 【scipy 基础】--空间计算

    scipy.spatial子模块提供了一系列用于处理和计算空间数据和几何形状的算法和工具,在许多领域都有广泛的应用,例如计算机视觉.地理信息系统.机器人学.医学影像分析等. 下面,来具体看看scipy ...

  6. odoo17.0 快递鸟模块

    快递鸟是国内使用较为广泛的快递集成查询平台之一,提供了600+的物流公司对接接口,是比较不错的物流查询服务选择.随着odoo17.0的发布,我们最近也将快递鸟模块升级到了17.0.下面我们来详细看一下 ...

  7. 湖南省网络攻防邀请赛 RE 题解

    ez_apkk 解题过程: 将apk拖入jadx,查看MainActivity,发现是简单RC4加密,密钥是"55667788",最后再将加密结果+1 public String ...

  8. 两道题浅析PHP反序列化逃逸

    两道题浅析PHP反序列化逃逸 一.介绍 反序列化逃逸的出现是因为php反序列化函数在进行反序列化操作时,并不会审核字符串中的内容,所以我们可以操纵属性值,使得反序列化提前结束. 反序列化逃逸题一般都是 ...

  9. MarkdownPad 文件访问权限受限导致软件打开后不久闪退解决方法

    近几天发现MarkdownPad有一些小问题,打开时会弹出以下报错信息,告诉你打开文件的权限不够 解决方法如下: 1.复制报错信息中的文件路径"Access to the path 'C:\ ...

  10. Stream API学习笔记

    Java8 中Stream API介绍   Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象.这种风格将要处理的元素集合看作一种流, ...