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

Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)

Golang起步篇

  • Golang起步篇
    • 一. 安装Go语言开发环境
      • 1. Wondows下搭建Go开发环境
        • (1). 下载SDK工具包
        • (2). 解压下载的压缩包,放到特定的目录下,我一般放在`d:/programs`下(路径不能有中文或者特殊符号如空格等)
        • (3). 配置环境变量
          • 步骤1:先打开环境变量配置的界面
          • 步骤2:配置我们的环境变量
        • (4).测试环境变量是否配置成功
      • 2. Linux下搭建Go开发环境
        • (1). 下载SDK工具包
        • (2). 解压下载的压缩包,linux建议放在`/opt`目录下
        • (3). 配置环境变量
          • 步骤1:使用`root`权限来编辑`/etc/profile`文件
          • 步骤2:添加如下配置
          • 步骤3:刷新配置,运行如下命令
          • 步骤4:测试配置是否生效
      • 3. Mac下搭建GO开发环境
        • (1). 下载SDK工具包
        • (2). 解压下载的压缩包,一般放在用户目录下
        • (3). 配置环境变量
          • 步骤1:编辑家目录下的.zshrc文件
          • 步骤2:添加如下配置
          • 步骤3:刷新配置
          • 步骤4:测试配置是否生效
    • 二. 开发工具选择
      • 1. Visual Studio code + go插件(Microsoft产品,简称vscode)
      • 2. LiteIDE
      • 3. Goland
      • 4.IntelliJ + go插件
      • 5. Eclipse + Go插件
    • 三. 开发第一个Go程序,输出”hello World”
      • 1.建立开发目录
      • 2. 编写程序,输出hello,world
      • 3. 通过go build命令对该go文件进行编译,生成可执行的文件
      • 4. 运行编译生成的hello文件
      • 5. 通过go run命令可以直接运行hello.go程序(类似执行一个脚本文件的形式)
      • 6. Golang执行流程分析
      • 7. Go程序开发的注意事项




Golang起步篇

一. 安装Go语言开发环境

1. Wondows下搭建Go开发环境

(1). 下载SDK工具包

sdk下载地址为:https://go.dev/dl/

在这里插入图片描述

(2). 解压下载的压缩包,放到特定的目录下,我一般放在d:/programs下(路径不能有中文或者特殊符号如空格等)

在这里插入图片描述

(3). 配置环境变量

在这里插入图片描述

步骤1:先打开环境变量配置的界面

在这里插入图片描述

步骤2:配置我们的环境变量

在这里插入图片描述

在这里插入图片描述
注:Path这个环境变量不需要再创建,因为系统本身就有,直接在后面增加Go的bin:;%GOROOT%\bin

在这里插入图片描述

(4).测试环境变量是否配置成功

重新打开一次doc的终端,运行下面命令:

go version

在这里插入图片描述

2. Linux下搭建Go开发环境

(1). 下载SDK工具包

sdk下载地址为:https://go.dev/dl/

在这里插入图片描述

(2). 解压下载的压缩包,linux建议放在/opt目录下

在这里插入图片描述

(3). 配置环境变量
步骤1:使用root权限来编辑/etc/profile文件
vim /etc/profile
步骤2:添加如下配置
export GOROOT=/opt/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/goproject

在这里插入图片描述

步骤3:刷新配置,运行如下命令
source /etc/profile
步骤4:测试配置是否生效
go version

在这里插入图片描述

3. Mac下搭建GO开发环境

(1). 下载SDK工具包

sdk下载地址为:https://go.dev/dl/

在这里插入图片描述

(2). 解压下载的压缩包,一般放在用户目录下

在这里插入图片描述

(3). 配置环境变量
步骤1:编辑家目录下的.zshrc文件
vim  ~/.zshrc
步骤2:添加如下配置
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/goproject
步骤3:刷新配置
source  ~/.zshrc
步骤4:测试配置是否生效
go version

在这里插入图片描述

二. 开发工具选择

1. Visual Studio code + go插件(Microsoft产品,简称vscode)

一个运行于Mac OSWondowsLinux之上的开发工具,默认提供Go语言的语法高亮,安装Go语言插件,还可以支持智能提示,编译运行等功能。

在这里插入图片描述

2. LiteIDE

LiteIED是一款专门为GO语言开发的跨平台轻量级集成开发环境(IDE),是国人开发的,免费的。
在这里插入图片描述

3. Goland

Goland是一个Go语言的IDE,是JetBrains公司开发的,是收费的

在这里插入图片描述

4.IntelliJ + go插件

这是老牌的IDE了,是由JETBRAINS公司出品,其本身是支持Java的,要用作Go语言开发,就需要加上Go插件,其插件支持基本的开发功能,例如编译,调试,语法高亮,代码补全,以及对引入库的管理等等。

在这里插入图片描述

5. Eclipse + Go插件

作为开放式IDE的鼻祖,把GoEclipse插件注册进去,其完整的开放功能就马上配置好了

在这里插入图片描述

三. 开发第一个Go程序,输出”hello World”

1.建立开发目录

在这里插入图片描述

2. 编写程序,输出hello,world

package main
import "fmt"
​
func main(){
  fmt.Println("hello,world!")
}

在这里插入图片描述

(1). go文件的后缀是.go

(2). package main表示该 hello.go 文件所在的包是main,在go中,每个文件都必须归属一个包

(3). import "fmt"表示引入一个包,包名为fmt,引入该包后,就可以使用fmt包中的函数,比如fmt.Println

(4). func main(){}func是一个关键字,表示一个函数。main是函数名,是一个主函数,即我们程序的入口

(5). fmt.Println("hello") 表示调用fmt包的函数Println输出”hello,world”

3. 通过go build命令对该go文件进行编译,生成可执行的文件

go build hello.go

在这里插入图片描述

注:windows下编译之后生成的是hello.exe文件

4. 运行编译生成的hello文件

./hello

在这里插入图片描述

注:windows下是直接运行hello.exe即可

在这里插入图片描述

5. 通过go run命令可以直接运行hello.go程序(类似执行一个脚本文件的形式)

go run hello.go

在这里插入图片描述

6. Golang执行流程分析

(1).如果是对源码编译后,再执行,Go的执行流程如下图

在这里插入图片描述

(2).如果我们是对源码直接执行go run 源码,Go的执行流程如下图

在这里插入图片描述

两种执行流程的方式区别

  • 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行

  • 如果我们是直接go run 源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行

  • 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多

7. Go程序开发的注意事项

(1). Go源文以”.go”为扩展名。

(2). Go应用程序的执行入口是main()函数。

(3). Go语言严格区分大小写。

(4). Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号)。

(5). Go编译器是一行行进行编译的,因为我们一行就写一条语句,不能把多条语句写在同一行,否则会报错。

在这里插入图片描述

(6). Go语言定义的变量或者import的包,如果没有使用到,代码不能通过编译

在这里插入图片描述







云哥技术yun3k

Golang起步篇


http://www.kler.cn/news/134263.html

相关文章:

  • 学霸教你自学人工智能
  • 设计模式(二)-创建者模式(2)-工厂模式
  • 程序员告诉你:人工智能是什么?
  • ClickHouse SQL 查询优化
  • openssl开发详解
  • Android 13 - Media框架(14)- OpenMax(二)
  • 庖丁解牛:NIO核心概念与机制详解 04 _ 分散和聚集
  • 分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测
  • 取数游戏2(动态规划java)
  • MSSQL-逻辑级常用命令
  • 设计模式(二)-创建者模式(2-0)-简单工厂模式
  • CocoaPods podfile 文件配置
  • 丹麦能源袭击预示着更关键的基础设施成为目标
  • UOS统信操作系统QIcon::fromTheme详解
  • 翻译软件Mate Translate mac中文版介绍说明
  • NewStarCTF2023 Reverse Week3 EzDLL WP
  • nodejs+vue实验室上机管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
  • c语言中*p1++和p1++有啥区别
  • 大数据Doris(二十五):Stream Load数据导入演示和其他导入案例
  • android适配鸿蒙系统开发
  • 说一说HTTP1.0、1.1、2.0版本区别和优化
  • c++中的String
  • 【算法】石子合并(区间dp)
  • Python学习之——正则表达式
  • 深度学习入门(第三天)——卷积神经网络
  • LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索Indexes for information retrieve
  • 系统移植-uboot
  • 012 C++ AVL_tree
  • 创邻科技亮相ISWC 2023,国际舞台见证知识图谱领域研究突破
  • 【kerberos】使用 curl 访问受 Kerberos HTTP SPNEGO 保护的 URL