一、前言
Go系列文章:
- GO開(kāi)篇:手握J(rèn)ava走進(jìn)Golang的世界
Go專欄傳送鏈接:https://blog.csdn.net/saintmm/category_12326997.html
二、安裝和配置SDK
1、安裝
1> 進(jìn)入到Go官網(wǎng)(https://golang.org),點(diǎn)擊Download按鈕;
2> 選擇操作系統(tǒng)對(duì)應(yīng)的環(huán)境版本(圖形化安裝),進(jìn)行下載,比如博主的windows:
3> 下載完一路安裝,博主的安裝目錄如下:
當(dāng)然除此之外,還可以選擇壓縮包解壓的方式;
PS:不用翻墻就可以訪問(wèn)的GO中文社區(qū)SDK下載地址:https://studygolang.com/dl。
2、環(huán)境配置
這個(gè)操作老常規(guī)了,通過(guò)路徑(此電腦 -> 屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量)找到系統(tǒng)變量;
1> 點(diǎn)擊《新建》,添加兩個(gè)環(huán)境變量GOPATH、GOROOT;
- GOROOT為go命令所在的bin目錄(GO的安裝路徑)
- GOPATH路徑為我們自己指定的GO程序所在的文件夾,當(dāng)然在IDEA中開(kāi)發(fā),可以選擇不配置這個(gè)環(huán)境變量,直接在IDEA中配置GOPATH。
- PS:如果是go1.14以前的版本,需要在GoPath路徑下創(chuàng)建三個(gè)子目錄,之后編寫(xiě)的Go項(xiàng)目都存放在src中。
- src ---- 存放工程文件
- pkg ---- 編譯后生成的,包的目標(biāo)文件
- bin ---- 生成的可執(zhí)行文件。
- PS:如果是go1.14以前的版本,需要在GoPath路徑下創(chuàng)建三個(gè)子目錄,之后編寫(xiě)的Go項(xiàng)目都存放在src中。
2> 在 環(huán)境變量 Path 中增加GOROOT/bin;
3> 在控制臺(tái)驗(yàn)證環(huán)境變量的配置
三、開(kāi)發(fā)工具
目前最常用的Go開(kāi)發(fā)工具有三種:VS Code、LiteIDE、GoLand。
- visual studio code, Microsoft產(chǎn)品(簡(jiǎn)稱VSCode):一個(gè)運(yùn)行于Mac Os、Windows和Linux 之上的,默認(rèn)提供Go語(yǔ)言的語(yǔ)法高亮,安裝Go語(yǔ)言插件,還可以支持智能提示,編譯運(yùn)行等功能。
- LitelDE,是一款國(guó)人開(kāi)發(fā)、專門(mén)為Go語(yǔ)言開(kāi)發(fā)的跨平臺(tái)輕量級(jí)集成開(kāi)發(fā)環(huán)境(IDE)。
- GoLand, JetBrains公司的IDE工具系列產(chǎn)品,專門(mén)為Go語(yǔ)言服務(wù);和Java的Intellij IDEA一樣好用。
個(gè)人建議一步到位使用GoLand,如果你真的找不到激活碼、也不會(huì)自己購(gòu)買。那就用VS Code吧。
1、GoLand
1> 下載:
- 訪問(wèn)官網(wǎng)(https://www.jetbrains.com/zh-cn/go/) 點(diǎn)擊下載按鈕;
更多版本見(jiàn)官網(wǎng)(https://www.jetbrains.com/zh-cn/go/download/other.html)
2> 創(chuàng)建項(xiàng)目:
創(chuàng)建完成之后,項(xiàng)目結(jié)構(gòu)如下:
3> 配置GOROOT:
2、VS Code
主打的就是一免費(fèi),官網(wǎng)地址(https://code.visualstudio.com/)。
四、Hello World程序
1> 編碼
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
注意:package 一定要是main,否則執(zhí)行不了。
2> 運(yùn)行
3> 運(yùn)行結(jié)果
通過(guò)命令運(yùn)行
1)go build
可以選擇用命令先將源代碼編譯成可執(zhí)行源碼文件、然后再運(yùn)行。命令如下:
go build hello.go
.\hello.exe
注意windows中直接運(yùn)行hello.exe可能會(huì)報(bào)錯(cuò),將命令調(diào)整為.\hello.exe
即可。
此外,執(zhí)行g(shù)o build命令時(shí),可以指定編譯后的文件名:
go build -o saint.exe hello.go
2)go run
也可以直接通過(guò) go run命令直接編譯 執(zhí)行 源文件。
go run hello.go
1、Go 和 Java的文件結(jié)構(gòu)對(duì)比
最關(guān)鍵的一個(gè)點(diǎn),Go主程序的入口類中package必須為main,Java主程序的入口package可以隨便寫(xiě)。
1> Go的文件結(jié)構(gòu):
// 主程序必須是寫(xiě)成main包名
package main
// 導(dǎo)入別的類庫(kù)
import "fmt"
// 全局常量定義
const num = 10
// 全局變量定義
var name string = "li_ming"
// 類型定義
type P struct {
}
// 初始化函數(shù)
func init() {
}
// main函數(shù):程序入口
func main() {
fmt.Printf("Hello World");
}
2> Java的文件結(jié)構(gòu):
// 包名
package my_package;
// 導(dǎo)入其他包中的類
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常用包對(duì)比
Go中文API文檔:https://studygolang.com/pkgdoc
Go | Java | |
---|---|---|
IO流操作 | bufio/os | java.lang.io |
字符串操作 | strings | java.lang.String |
容器 | container(heap/list/ring) | java.lang.Collection |
時(shí)間 | time | java.time/java.lang.Date |
鎖 | sync | juc |
數(shù)學(xué)運(yùn)算 | math | java.math |
五、Go執(zhí)行流程
Go的執(zhí)行流程有兩種方式:先編譯再運(yùn)行、一次性編譯運(yùn)行。
1、先編譯再運(yùn)行
2、一次性編譯運(yùn)行
區(qū)別?
1> 編譯(go build
)時(shí),編譯器會(huì)將程序運(yùn)行所依賴的庫(kù)文件都包含在可執(zhí)行文件中,所以可執(zhí)行文件會(huì)大很多。
2> 先編譯生成了可執(zhí)行文件之后,將該可執(zhí)行文件拷貝到?jīng)]有g(shù)o開(kāi)發(fā)環(huán)境的機(jī)器上,仍然可以運(yùn)行;但是go run 源代碼
的方式,如果想在另外一個(gè)機(jī)器上運(yùn)行,需要有g(shù)o開(kāi)發(fā)環(huán)境,否則無(wú)法執(zhí)行。
- 此處機(jī)器上的操作系統(tǒng)要一樣,不能是windows到linux、或 到 unix。
3> go run
方式的 運(yùn)行時(shí)間會(huì)比 go build 之后 再運(yùn)行
的方式 長(zhǎng)那么一點(diǎn)。
六、總結(jié)和后續(xù)
本文介紹了如何在一個(gè)電腦上從零開(kāi)始搭建GO開(kāi)發(fā)環(huán)境、開(kāi)發(fā)工具,并開(kāi)始寫(xiě)一個(gè)Hello World程序;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-461085.html
進(jìn)而介紹了Java和Go類文件結(jié)構(gòu)的差異,以及Go源文件的兩種執(zhí)行方式 和 對(duì)比。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-461085.html
到了這里,關(guān)于【30天熟悉Go語(yǔ)言】2 Go開(kāi)發(fā)環(huán)境搭建、Hello World程序運(yùn)行的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!