<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          「每周譯Go」Windows 系統(tǒng)的Gopher們久等了?。?/h1>

          共 12338字,需瀏覽 25分鐘

           ·

          2022-07-17 17:02

          Windows 系統(tǒng)的用戶們久等了 !!周一我們介紹了《如何在 macOS 上安裝 Go 和設置本地編程環(huán)境的操作》,具體請參考「每周譯Go」Hello , Gophers !《How to Code in Go》第二彈來了。今天我們將介紹《如何在 Windows 10 上安裝 Go 和設置本地編程環(huán)境》,以供不同系統(tǒng)使用者選擇學習。

          話不多說,我們開始 :

          如何在 Windows 10 上安裝 Go 和設置本地編程環(huán)境

          Go 語言簡介

          Go 是一門在 Google 備受挫折后而誕生的語言。開發(fā)者不得不頻繁地在兩門語言中選擇,要么選擇一門執(zhí)行效率高但是編譯時間長的語言,要么選擇一種易于編程但在生產中運行效率低下的語言。Go 被設計為同時提供所有這三個功能:快速編譯、易于編程和生產中的高效執(zhí)行。

          雖然 Go 是一門通用的編程語言,可用于許多不同類型的編程項目。但它特別適合網絡/分布式系統(tǒng)項目,贏得了“云語言”的美譽。Go  語言專注于通過一組強大的工具來幫助現(xiàn)代程序員完成更多的工作,通過使格式成為語言規(guī)范的一部分來消除對格式的爭論,以及通過編譯為單個二進制文件來簡化部署。Go 易于學習,關鍵字非常少,這使其成為不論是初學者還是經驗豐富的開發(fā)人員的不二之選。

          本教程將指導你通過命令行來安裝 Go 和配置 Go 編程環(huán)境。本教程特別針對 Ubuntu 18.04 的安裝過程,但是對于其他 Debian Linux 發(fā)行版也同樣適用。

          安裝前提

          你需要一臺擁有管理員權限并且能夠連接上網的  Windows 10 的電腦。

          第一步:打開并配置 PowerShell

          我們將會在終端上完成我們大部分的安裝和設置,這是一種與計算機交互的非圖形化方式。也就是說,你輸入的是文本,然后也是通過文本得到計算機的反饋,而不是點擊按鈕。命令行,也就是我們熟知的 shell 或者 終端 ,可以幫助你修改或自動化很多你每天執(zhí)行在計算機上的任務,這是軟件開發(fā)人員必備的工具。

          PowerShell 是微軟提供的一個命令行 shell 界面的程序。通過 cmdlets (發(fā)音為 command-lets )來執(zhí)行管理任務,它們是 .NET 軟件框架可以執(zhí)行操作的專用類。PowerShell 于 2016 年 8 月開源,現(xiàn)在可跨平臺使用,適用于 Windows 和 UNIX 系統(tǒng)(包括 Mac 和 Linux)。

          如何找到 Windows PowerShell 呢,你可以右擊屏幕左下角的開始按鈕,彈出菜單后,點擊搜索,然后在搜索欄中輸入 PowerShell 。當你看到選項時,右擊桌面應用程序中的 Windows PowerShell。出于本教程的目的,選擇以管理員身份運行。當系統(tǒng)提示你出現(xiàn)一個對話框,詢問是否允許此應用程序對您的 PC 進行更改? 單擊

          完成此操作后,你將看到一個基于文本的界面,其中包含如下所示的字符串:

          Windows 10 PowerShell

          輸入以下命令退出系統(tǒng)文件夾:

          cd ~

          然后你會進入到主目錄中,比如 PS C:\Users\sammy

          要繼續(xù)安裝過程,你必須通過 PowerShell 設置權限。默認情況下以最安全的模式運行,作為管理員你可以設置以下幾個級別的權限:

          • Restricted 是默認執(zhí)行策略。在這種模式下,你將無法運行腳本,并且 PowerShell 只能作為交互式 shell 工作。
          • AllSigned 將使你能夠運行由受信任的發(fā)布者簽名的所有腳本和配置文件,這意味著可能讓計算機面臨著運行惡意腳本的風險,這腳本碰巧由受信任發(fā)布者簽名。
          • RemoteSigned 將允許你運行由受信任的發(fā)布者簽名的從 Internet 下載的腳本和配置文件,如果這些受信任的腳本實際上是惡意的,則再次使你的計算機暴露在漏洞面前。.
          • Unrestricted 將運行從 Internet 下載的所有腳本和配置文件,只要你確認你知曉該文件是從 Internet 下載的。在這種情況下,不需要數(shù)字簽名,因此你可能會讓你計算機面臨運行從 Internet 下載的未簽名和潛在惡意腳本的風險。

          在本教程中,你將使用 RemoteSigned 執(zhí)行策略來設置當前用戶的權限。這將允許 PowerShell 接受受信任的腳本,而不會使權限像 Unrestricted 權限那樣廣泛。在 PowerShell 中輸入以下內容:

          Set-ExecutionPolicy -Scope CurrentUser

          然后 PowerShell 將提示你為你提供一個可執(zhí)行策略。輸入以下內容來使用RemoteSigned 策略:

          RemoteSigned

          一旦你按了回車鍵,系統(tǒng)會要求你確認對執(zhí)行政策的更改。輸入字母 y 以使更改生效。你可以通過詢問機器上的當前權限來確認這是否生效:

          Get-ExecutionPolicy -List

          你應該會收到如下所示的輸出:

          Output        
                  Scope ExecutionPolicy
                  ----- ---------------
          MachinePolicy       Undefined
             UserPolicy       Undefined
                Process       Undefined
            CurrentUser    RemoteSigned
           LocalMachine       Undefined

          這表明當前用戶可以運行從 Internet 下載的受信任腳本。你現(xiàn)在可以繼續(xù)下載設置 Go 編程環(huán)境所需的文件。

          第二步:安裝包管理器 Chocolatey

          所謂包管理器就是一組軟件工具的集合,這些工具使得安裝過程自動化。這包括軟件的初始安裝、升級和配置,以及根據(jù)需要刪除軟件。他們將軟件安裝保存在一個中央位置,并且可以以常用格式維護系統(tǒng)上的所有軟件包。

          Chocolatey 是一個為 Windows 構建的命令行包管理器,其工作方式與 Linux 上的 apt-get 類似。Chocolatey 提供開源版本,可幫助你快速安裝應用程序和工具。你可以用它來下載開發(fā)環(huán)境所需的內容。

          在安裝腳本之前,請閱讀一下腳本并確認它對你的機器所做的更改是否令你感到滿意。為此,請使用 .NET 腳本框架下載 Chocolatey 腳本并將其顯示在終端窗口中。

          首先創(chuàng)建一個名為 $script 的 WebClient 對象,該對象與 Internet Explorer 共享 Internet 連接設置:

          $script = New-Object Net.WebClient

          通過將帶有 |$script 對象傳遞給 Get-Member 類來查看可用選項:

          $script | Get-Member

          這將返回此 WebClient 對象的所有成員(屬性和方法):

           . . .
          [secondary_label Snippet of Output]
          DownloadFileAsync         Method     void DownloadFileAsync(uri address, string fileName), void DownloadFileAsync(ur...
          DownloadFileTaskAsync     Method     System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileNa...
          DownloadString            Method     string DownloadString(string address), string DownloadString(uri address) #method we will use
          DownloadStringAsync       Method     void DownloadStringAsync(uri address), void DownloadStringAsync(uri address, Sy...
          DownloadStringTaskAsync   Method     System.Threading.Tasks.Task[string] DownloadStringTaskAsync(string address), Sy…
           . . .

          查看輸出內容,你可以識別出用于在 PowerShell 窗口中顯示腳本和簽名的 DownloadString 方法。使用此方法檢查腳本:

          $script.DownloadString("https://chocolatey.org/install.ps1")

          檢查腳本后,通過在 PowerShell 中輸入以下內容來安裝 Chocolatey:

          iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

          cmdlet iwrInvoke-WebRequest 允許你從 Web 中提取數(shù)據(jù)。然后將腳本傳遞給 iexInvoke-Expression cmdlet,后者將執(zhí)行腳本的內容并開始 Chocolatey 包管理器的安裝。

          允許 PowerShell 安裝 Chocolatey。等到安裝完成后,你可以使用 choco 命令開始安裝其他工具。

          如果你以后需要隨時升級 Chocolatey,請運行以下命令:

          choco upgrade chocolatey

          安裝包管理器后,你可以安裝 Go 編程環(huán)境所需的其余部分。

          第三步:裝文本編輯器 Nano (可選)

          在這一步中,你將安裝 _nano_,這是一個使用命令行界面的文本編輯器。你可以使用 nano 直接在 PowerShell 中編寫程序。這不是強制性步驟,因為你也可以使用帶有圖形用戶界面的文本編輯器,例如 Notepad 。本教程推薦使用 nano,因為它將幫助你習慣使用 PowerShell。

          使用 Chocolatey 安裝 nano:

          choco install -y nano

          -y 標志會自動確認你要運行腳本,而不會提示你確認。

          安裝 nano 后,你可以使用 nano 命令創(chuàng)建新的文本文件。你將在本教程后面使用它來編寫你的第一個 Go 程序。

          第四步:安裝 Go

          就像你在上一步中安裝 nano 一樣,你將使用 Chocolatey 安裝 Go:

          choco install -y golang

          注意: 因為 go 是一個很小的詞,所以使用 golang 作為安裝包的術語, 這也是在互聯(lián)網上搜索 Go 相關文章時的常見做法。Golang  一詞源于 Go 的域,即 golang.org

          PowerShell 安裝 Go 的過程中,會在 PowerShell 中生成輸出內容。安裝完成后,你應該會看到以下輸出:

          Output
          Environment Vars (like PATH) have changed. Close/reopen your shell to
          see the changes (or in powershell/cmd.exe just type `refreshenv`).
          The install of golang was successful.
          Software installed as 'msi', install location is likely default.

          Chocolatey installed 1/1 packages.
          See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

          安裝完成后,你可以確認下 Go 是否已安裝。要查看更改,請以管理員身份關閉并重新打開 PowerShell,然后檢查本地計算機上可用的 Go 版本:

          go version

          你將得到類似以下內容的輸出:

          output
          go version go1.12.1 windows/amd643.7.0

          安裝 Go 后,你可以為開發(fā)項目設置工作區(qū)。

          第五步:創(chuàng)建你的 Go 工作區(qū)

          現(xiàn)在你已經安裝了 Chocolatey、nano 和 Go,可以接著創(chuàng)建你的編程工作區(qū)。

          Go 語言的工作區(qū)在其根目錄下包含兩個目錄:

          • src: 該目錄包含 Go 的源文件。所謂源文件就是你用 Go 編程語言寫的文件。源文件被 Go 編譯器構建成可執(zhí)行的二進制文件。
          • bin: 該目錄包含了 Go 工具構建和安裝的可執(zhí)行文件。可執(zhí)行文件就是運行在你系統(tǒng)上并執(zhí)行任務的二進制文件。通常是你的源碼或者是其他下載的 Go 源代碼編譯的程序。

          src 子目錄可能包含多個版本控制倉庫(例如 Git, MercurialBazaar)。當你引入第三方庫的時候,你可以看到類似  github.com, golang.org 或其他目錄,如果你使用的是 github.com 之類的代碼倉庫,你還將把項目和源文件放在該目錄下。我們將在此步驟的后面部分探討這個概念。這允許你在你的項目中規(guī)范導入代碼。規(guī)范導入就是引用完全限定包的導入,例如 github.com/digitalocean/godo 。

          下面是典型的工作區(qū)目錄結構:

          .
          ├── bin
          │   ├── buffalo                                      # command executable
          │   ├── dlv                                          # command executable
          │   └── packr                                        # command executable
          └── src
              └── github.com
                  └── digitalocean
                      └── godo
                          ├── .git                            # Git repository metadata
                          ├── account.go                      # package source
                          ├── account_test.go                 # test source
                          ├── ...
                          ├── timestamp.go
                          ├── timestamp_test.go
                          └── util
                              ├── droplet.go
                              └── droplet_test.go

          從 1.8 開始,Go 工作區(qū)的默認目錄是用戶的 home 目錄,并帶有 go 子目錄,或者是 $HOME/go 目錄。如果你使用的是早于 1.8 的 Go 版本,目前認為最佳做法是為你的工作區(qū)使用 $HOME/go 位置。

          使用下面命令導航到 $HOME 目錄:

          cd $HOME

          接下來,為你的 Go 工作區(qū)創(chuàng)建目錄結構:

          mkdir go/bin, go/src

          以上命令將確保下面的目錄結構各就各位:

          └── $HOME
          └── go
          ├── bin
          └── src

          在 Go 1.8 之前,需要設置一個名為 $GOPATH 的本地環(huán)境變量。$GOPATH 告訴編譯器在哪里可以找到導入的第三方源代碼,同樣包括任何你寫的本地源代碼。雖然不再明確要求它,但它仍然被認為是一種很好的做法,因為許多第三方工具仍然依賴于設置的這個變量。

          由于你使用 Chocolatey 進行安裝,因此應該已經設置了此環(huán)境變量。你可以使用以下命令驗證這一點:

          $env:GOPATH

          你應該會看到以下輸出,其中  sammy 代替了你的用戶名:

          output
          C:\Users\sammy\go

          當 Go 編譯和安裝工具時,會將他們放在  $GOPATH/bin  目錄。為方便起見,通常將工作區(qū)的 /bin 子目錄添加到 ~/.profile 中的 PATH 中。你可以使用 PowerShell 中的 setx 命令執(zhí)行此操作:

          setx PATH "$($env:path);$GOPATH\bin"

          這將允許你在系統(tǒng)上的任何位置運行通過 Go 工具編譯或下載的任何程序。

          現(xiàn)在你已經創(chuàng)建了工作區(qū)的根目錄并設置了 $GOPATH 環(huán)境變量,你可以根據(jù)以下目錄結構創(chuàng)建你未來的項目。此示例假設你使用 github.com 作為倉庫:

          $GOPATH/src/github.com/username/project

          例如,如果你正在開發(fā)  https://github.com/digitalocean/godo  項目,它將存儲在以下目錄中:

          $GOPATH/src/github.com/digitalocean/godo

          該項目結構使項目可以通過 go get 工具使用。它也有助于以后的可讀性。你可以通過使用 go get 命令并獲取 godo 庫來驗證這一點:

          go get github.com/digitalocean/godo

          注意: 如果你沒有安裝 git,Windows 會打開一個對話框詢問你是否要安裝它。單擊 Yes 繼續(xù)并按照安裝說明進行操作。

          你可以通過列出目錄來檢查下看看是否成功下載了 godo包:

          ls $env:GOPATH/src/github.com/digitalocean/godo

          你應該看到類似下面這樣的輸出:

          output    
          Directory: C:\Users\sammy\go\src\github.com\digitalocean\godo


          Mode LastWriteTime Length Name
          ---- ------------- ------ ----
          d----- 4/10/2019 2:59 PM util
          -a---- 4/10/2019 2:59 PM 9 .gitignore
          -a---- 4/10/2019 2:59 PM 69 .travis.yml
          -a---- 4/10/2019 2:59 PM 1592 account.go
          -a---- 4/10/2019 2:59 PM 1679 account_test.go
          -rw-r--r-- 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md
          -rw-r--r-- 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md
          .
          .
          .
          -a---- 4/10/2019 2:59 PM 5076 vpcs.go
          -a---- 4/10/2019 2:59 PM 4309 vpcs_test.go

          在這一步中,你創(chuàng)建了一個 Go 工作區(qū)并且配置了必要的環(huán)境變量。下一步你將使用一些代碼來測試下工作區(qū)。

          第六步:創(chuàng)建一個簡單的程序

          現(xiàn)在你已經設置了工作區(qū),來創(chuàng)建一個  “Hello, World!” 程序吧。這可以檢驗工作區(qū)配置是否正確,并且給你一個更加熟悉 Go 的機會。因為我們創(chuàng)建的是單個 Go 源文件,而不是實際項目,所以我們不需要在工作區(qū)中執(zhí)行此操作。

          在你的 home 目錄,打開一個命令行文本編輯器,例如 nano,然后創(chuàng)建一個新文件:

          nano hello.go

          在 nano 中打開文本文件后,輸入你的程序代碼:

          hello.go
          package main

          import "fmt"

          func main() {
           fmt.Println("Hello, World!")
          }

          CTRLX 鍵退出 nano。當提示保存文件時,按 Y,然后按 ENTER 退出。

          該代碼使用了  fmt 包并且使用  Hello, World!  作為參數(shù)調用了  Println 函數(shù)。這將導致短語 Hello, World! 在程序運行時打印到終端上。

          退出 nano 返回 shell 之后,運行程序:

          go run hello.go

          你剛剛創(chuàng)建的 hello.go 程序應該會在 PowerShell 產生以下輸出:

          output
          Hello, World!

          在此步驟中,你使用了一個簡單小程序來驗證是否正確配置了 Go 工作區(qū)。

          總結

          恭喜!至此,你已經在 Ubuntu 機器上設置了 Go 編程工作區(qū),可以開始寫項目了!

          相關鏈接:
          Go : https://golang.org/
          PowerShell :
          https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/powershell
          .NET : https://dotnet.microsoft.com/
          Chocolatey https://chocolatey.org/

          Git : https://git-scm.com/

          Mercurial : https://www.mercurial-scm.org/

          Bazaar : http://bazaar.canonical.com/





          往期推薦




          2022 GopherChina 出品人及演講內容陸續(xù)揭曉···


          編寫go語言代碼三條基本原則


          Go高級工程師必修課 | 真心建議你來聽聽,別錯過~

          想要了解Go更多內容,歡迎掃描下方?? 關注 公眾號,回復關鍵詞 [實戰(zhàn)群]  ,就有機會進群和我們進行交流~

          記得分享、在看與點贊哦~

          瀏覽 58
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報

          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩一级片免费看 | 操逼逼综合网 | 操小骚逼网站 | 欧美大黑屌视频 | 激情偷乱人成视频在线观看 |