Go語言-windows安裝配置篇

来源:https://www.cnblogs.com/tielemao/archive/2018/05/30/9113841.html
-Advertisement-
Play Games

GOPATH設置 僅僅安裝好msi是不夠的,還需要配置一些東西:`GOPATH` Go從1.1版本到1.7必須設置這個變數,而且不能和Go的安裝目錄一樣。 這個目錄用來存放Go源碼,Go的可運行文件,以及相應的編譯之後的包文件。 所以這個目錄下麵有三個子目錄:src、bin、pkg 從go 1.8開... ...


Go-windows安裝配置

前言

學習完了python基礎,順便也要提前學習一下go啦,抱著這樣的心情,今晚嘗試了安裝一下go,很順利的完成了,沒有難度。

需要瞭解更多的關於Go的基本信息可以去維基百科查看信息,這裡就不做描述了。

Go官方網站:https://golang.org
Go官網文檔:https://golang.org/doc

安裝-windows篇

安裝以便使用Go很簡單,只需要安裝它的編譯器就可以了:

到官網下載地址下載windows所用的系統安裝包,下載回來後點擊安裝即可。

選擇下載msi包來進行安裝,安裝進行的同時還會替你設置好環境變數等。

如果是zip解壓的需要配置下環境變數,此過程不再描述。如果是msi安裝包會自動配置環境變數,檢驗是否能正常使用只需要打開cmd或者powershell輸入: go version

C:\Users\Administrator>go version
go version go1.10.2 windows/amd64

返回go的版本信息則正常!

GOPATH設置

僅僅安裝好msi是不夠的,還需要配置一些東西:GOPATH

Go從1.1版本到1.7必須設置這個變數,而且不能和Go的安裝目錄一樣。

這個目錄用來存放Go源碼,Go的可運行文件,以及相應的編譯之後的包文件。

所以這個目錄下麵有三個子目錄:src、bin、pkg

從go 1.8開始,GOPATH環境變數現在有一個預設值,如果它沒有被設置。 它在Unix上預設為$HOME/go,在Windows上預設為%USERPROFILE%/go

如果你的是Unix環境需要:

export GOPATH=/home/tielemao/GoWork

Windows則需要新建一個環境變數名稱叫做GOPATH:

GOPATH=E:\GoWork

當然,go 的msi安裝包安裝完成後,己預設設置了GOPATH,我們只需要右擊【電腦】屬性-【高級系統設置】-【高級】-【環境變數】設置編輯就可以了。

GOPATH允許多個目錄,當有多個目錄時,請註意分隔符,多個目錄的時候Windows是分號,Linux系統是冒號,當有多個GOPATH時,預設會將go get的內容放在第一個目錄下。

以上 $GOPATH 目錄約定有三個子目錄:

  • src 存放源代碼(比如:.go .c .h .s等)
  • pkg 編譯後生成的文件(比如:.a)
  • bin 編譯後生成的可執行文件(為了方便,可以把此目錄加入到 $PATH 變數中,如果有多個gopath,那麼使用${GOPATH//://bin:}/bin添加所有的bin目錄)

hello world

配置好後,進一步構建一個簡單的實例去檢查go是否正常。
在你的上文的GOPATH新建一個src/hello/hello.go文件,內容如下:

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

然後使用終端進入該文件夾,並且構建編譯:
例:我的GOPATH設置的是E盤下的GoWork目錄。

E:\> cd GoWork\src\hello
E:\GoWork\src\hello> go build

註: go 前面還有個空格才能正常執行build命令。

編譯完成後,可以dir命令看到該目錄下有個hello.exe可執行文件。
繼續在終端執行:

E:\GoWork\src\hello> hello
hello, world

則會輸出hello world

至此,GO在windows系統上安裝完成。

GoDocServer

附:點擊開始菜單,所有程式,找到go的程式目錄,它下麵會有一個GoDocServer程式,運行後的效果如上圖,也是挺有意思的。可以在web界面下查看整個Go目錄樹了。

end
2018-05-30 星期三


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 對於volatile型變數的特殊規則 關鍵字volatile可以說是Java虛擬機提供的最輕量級的同步機制。 在處理多線程數據競爭問題時,不僅僅是可以使用synchronized關鍵字來實現,使用volatile也可以實現。 Java記憶體模型對volatitle專門定義了一些特殊的訪問規則,當一個變 ...
  • 承接上篇文章Django Rest Framework源碼剖析(二) 許可權,當服務的介面被頻繁調用,導致資源緊張怎麼辦呢?當然或許有很多解決辦法,比如:負載均衡、提高伺服器配置、通過代理限制訪問頻率等,但是django rest framework自身就提供了訪問頻率的控制,可以從代碼本身做控制。 ...
  • Long Parameter List(過長參數列) Divergent Change(發散式變化) Shotgun Surgery(散彈式修改) Feature Envy(依戀情結) Data Clumps(數據泥團) Primitive Obsession(基本型別偏執) Switch Stat... ...
  • 在Flask中鉤子函數是使用特定的裝飾器的函數。為什麼叫做鉤子函數呢,是因為鉤子函數可以在正常執行的代碼中,插入一段自己想要執行的代碼,那麼這種函數就叫做鉤子函數。 before_first_request:Flask項目第一次部署後會執行的鉤子函數。 before_request:請求已經到達了F ...
  • 博客園是面向開發者的知識分享社區,不允許發佈任何推廣、廣告、政治方面的內容。 博客園首頁(即網站首頁)只能發佈原創的、高質量的、能讓讀者從中學到東西的內容。 如果博文質量不符合首頁要求,會被工作人員移出首頁,望理解。如有疑問,請聯繫[email protected]。 ...
  • 大家好,併發編程 進入第十章。好了,今天的內容其實還挺多的,我準備了三天,到今天才整理完畢。希望大家看完,有所收穫的,能給小明一個贊。這就是對小明最大的鼓勵了。為了更好地銜接這一節,我們先來回顧一下上一節的內容。 上一節「」,我們首先介紹了,如何創建一個協程對象.主要有兩種方法 通過async關鍵字 ...
  • 在瞭解完了 Python函數基礎篇 之後,本篇的存在其實是為了整合知識,由於該篇的知識是否雜亂,故大家可以通過點開點連接直接進入其詳細介紹,該篇主要大致的介紹一下幾個知識點: 一、Python的迭代器和生成器 二、Python的內置函數 三、Python的open函數之文件處理 四、Python的遞 ...
  • 1 flask script擴展庫 概念 : 是一個flask終端運行的解析器 ,因為項目完成以後,代碼改動會有風險,所以藉助終端完成不同啟動項的配置 安裝 使用 執行程式需要在啟動項輸入命令 2 Blueprint藍圖 概念 : Blueprint通過把實現不同功能的module分開,實現分類功能 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...