go簡介及國內(nèi)鏡像源配置全過程
一、Go 語言簡介
Go 是一門編譯型和靜態(tài)的編程語言。因為 Go 語言是 2009 年誕生的,比目前市面上主流的編程語言,如 C、C++、Python、Java 都要新,所以它能夠基于多種語言,取其精華,去其糟粕。
Go 有很多特性:
- 內(nèi)置并發(fā)編程支持:協(xié)程(goroutine)和通道(channel)
- 內(nèi)置映射(map)和切片(slice)類型
- 支持多態(tài)
- 使用接口來實現(xiàn)裝箱(value boxing)和反射(reflection)
- 支持指針、函數(shù)閉包、方法、延遲函數(shù)調(diào)用(defer)、類型內(nèi)嵌和推斷
- 自動化的內(nèi)存管理,即垃圾回收
- 良好的代碼跨平臺性
- 對于有一定編程經(jīng)驗的程序員而言,上手 Go 會非常容易
二、環(huán)境配置
這里假設(shè)你已經(jīng)成功安裝了 golang,可以在命令行輸入 go version 查看已經(jīng)安裝的 golang 的版本信息。
1.GOROOT
在本地環(huán)境中添加 GOROOT 配置,值為 golang 安裝后的根目錄。
Windows 上默認為 C:/go, Mac 電腦默認為/usr/local/go

2.GOPATH
GOPATH 則設(shè)置為自己本地所有 Go 項目的根目錄。
設(shè)置完成后,在 GOPATH 目錄下創(chuàng)建三個文件夾 src、bin、pkg。
- src 主要存放各個項目的源代碼,在 src 目錄下再創(chuàng)建一個名為 github.com 的文件夾,然后再根據(jù)各個項目名稱創(chuàng)建對應(yīng)的項目文件夾。
- bin 保存的是各類可執(zhí)行文件,當我們使用 go install 編譯項目源碼后,生成的項目可執(zhí)行文件就會保存到 bin 目錄中,此外 bin 目錄也保存下載的各種擴展工具。
- pkg 中,mod 文件夾下存放的是 go module 管理的依賴庫。
3.國內(nèi)鏡像設(shè)置
從 1.13 版本開始 Go 官方就推薦使用 go module 的方式進行依賴管理,但是因為“墻”的存在,導致有些外網(wǎng)的包可能無法下載或者下載速度會很慢,所以需要配置國內(nèi)的鏡像源
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
golang 的國內(nèi)鏡像源:
- 阿里云:https://mirrors.aliyun.com/goproxy
- 微軟:https://goproxy.io
- 七牛云:https://goproxy.cn
- GoCenter:https://gocenter.io
配置完成后可以使用命令 go env 查看配置是否正確。
三、開發(fā)工具介紹
開發(fā)工具有很多,如 VSCode、IDEA、GoLand。因為我自己也會 Java,而且也習慣了使用 IDEA,好在 IDEA 中也提供了 Go 語言的插件,以方便我們在 IDEA 中從事 Go 語言開發(fā)和學習。所以我這里只展示如何在IDEA 上配置GO的開發(fā)環(huán)境。
在IDEA Plugins中搜索 Go 并下載

檢查GOROOT、GOPATH、GOMODULE 的設(shè)置

四、Hello World!
項目環(huán)境準備
我這里創(chuàng)建了一個名叫 base-study 的項目,使用 go mod init baseStudy 來在項目根目錄下創(chuàng)建 go.mod 文件。

此時的 go.mod 文件只標識了文件名和 go 的版本,屬于正常情況。

然后我在文件夾下創(chuàng)建第一個 go 源文件:hello_world.go,老規(guī)矩了,學習一門語言,從說“Hello World!”開始。
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Golang中使用Date進行日期格式化(沿用Java風格)
這篇文章主要介紹了Golang中使用Date進行日期格式化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
這些關(guān)于Go中interface{}的注意事項你都了解嗎
這篇文章主要為大家詳細介紹了學習Go語言時需要了解的interface{}注意事項,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-03-03
Go打印結(jié)構(gòu)體提升代碼調(diào)試效率實例詳解
這篇文章主要介紹了Go打印結(jié)構(gòu)體提升代碼調(diào)試效率實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-02-02
Golang利用channel協(xié)調(diào)協(xié)程的方法詳解
go?當中的并發(fā)編程是通過goroutine來實現(xiàn)的,利用channel(管道)可以在協(xié)程之間傳遞數(shù)據(jù),所以本文就來講講Golang如何利用channel協(xié)調(diào)協(xié)程吧2023-05-05

