文章目录
一、前言
Go系列文章:
- GO开篇:手握Java走进Golang的世界
Go专栏传送链接:https://blog.csdn.net/saintmm/category_12326997.html
二、安装和配置SDK
1、安装
1> 进入到Go官网(https://golang.org),点击Download按钮;
2> 选择操作系统对应的环境版本(图形化安装),进行下载,比如博主的windows:
3> 下载完一路安装,博主的安装目录如下:
当然除此之外,还可以选择压缩包解压的方式;
PS:不用翻墙就可以访问的GO中文社区SDK下载地址:https://studygolang.com/dl。
2、环境配置
这个操作老常规了,通过路径(此电脑 -> 属性 -> 高级系统设置 -> 环境变量)找到系统变量;
1> 点击《新建》,添加两个环境变量GOPATH、GOROOT;
- GOROOT为go命令所在的bin目录(GO的安装路径)
- GOPATH路径为我们自己指定的GO程序所在的文件夹,当然在IDEA中开发,可以选择不配置这个环境变量,直接在IDEA中配置GOPATH。 - PS:如果是go1.14以前的版本,需要在GoPath路径下创建三个子目录,之后编写的Go项目都存放在src中。 - src ---- 存放工程文件- pkg ---- 编译后生成的,包的目标文件- bin ---- 生成的可执行文件。
2> 在 环境变量 Path 中增加GOROOT/bin;
3> 在控制台验证环境变量的配置
三、开发工具
目前最常用的Go开发工具有三种:VS Code、LiteIDE、GoLand。
- visual studio code, Microsoft产品(简称VSCode):一个运行于Mac Os、Windows和Linux 之上的,默认提供Go语言的语法高亮,安装Go语言插件,还可以支持智能提示,编译运行等功能。
- LitelDE,是一款国人开发、专门为Go语言开发的跨平台轻量级集成开发环境(IDE)。
- GoLand, JetBrains公司的IDE工具系列产品,专门为Go语言服务;和Java的Intellij IDEA一样好用。
个人建议一步到位使用GoLand,如果你真的找不到激活码、也不会自己购买。那就用VS Code吧。
1、GoLand
1> 下载:
- 访问官网(https://www.jetbrains.com/zh-cn/go/) 点击下载按钮;
更多版本见官网(https://www.jetbrains.com/zh-cn/go/download/other.html)
2> 创建项目:
创建完成之后,项目结构如下:
3> 配置GOROOT:
2、VS Code
主打的就是一免费,官网地址(https://code.visualstudio.com/)。
四、Hello World程序
1> 编码
package main
import"fmt"funcmain(){
fmt.Println("Hello World")}
注意:package 一定要是main,否则执行不了。
2> 运行
3> 运行结果
通过命令运行
1)go build
可以选择用命令先将源代码编译成可执行源码文件、然后再运行。命令如下:
go build hello.go.\hello.exe
注意windows中直接运行hello.exe可能会报错,将命令调整为
.\hello.exe
即可。
此外,执行go build命令时,可以指定编译后的文件名:
go build -o saint.exe hello.go
2)go run
也可以直接通过 go run命令直接编译 执行 源文件。
go run hello.go
1、Go 和 Java的文件结构对比
最关键的一个点,Go主程序的入口类中package必须为main,Java主程序的入口package可以随便写。
1> Go的文件结构:
// 主程序必须是写成main包名package main
// 导入别的类库import"fmt"// 全局常量定义const num =10// 全局变量定义var name string="li_ming"// 类型定义type P struct{}// 初始化函数funcinit(){}// main函数:程序入口funcmain(){
fmt.Printf("Hello World");}
2> Java的文件结构:
// 包名package my_package;// 导入其他包中的类import java.io.*;
public Class MainTest{// main方法:程序入口
public void static main(String[] args){}}// Model类
Class People {// 成员变量
public String name;
public int age;// 成员方法
public void doSomething(){}}
2、Go和Java常用包对比
Go中文API文档:https://studygolang.com/pkgdoc
GoJavaIO流操作bufio/osjava.lang.io字符串操作stringsjava.lang.String容器container(heap/list/ring)java.lang.Collection时间timejava.time/java.lang.Date锁syncjuc数学运算mathjava.math
五、Go执行流程
Go的执行流程有两种方式:先编译再运行、一次性编译运行。
1、先编译再运行
2、一次性编译运行
区别?
1> 编译(
go build
)时,编译器会将程序运行所依赖的库文件都包含在可执行文件中,所以可执行文件会大很多。
2> 先编译生成了可执行文件之后,将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行;但是
go run 源代码
的方式,如果想在另外一个机器上运行,需要有go开发环境,否则无法执行。
- 此处机器上的操作系统要一样,不能是windows到linux、或 到 unix。
**3>
go run
方式的 运行时间会比
go build 之后 再运行
的方式 长那么一点**。
六、总结和后续
本文介绍了如何在一个电脑上从零开始搭建GO开发环境、开发工具,并开始写一个Hello World程序;
进而介绍了Java和Go类文件结构的差异,以及Go源文件的两种执行方式 和 对比。
版权归原作者 秃秃爱健身 所有, 如有侵权,请联系我们删除。