下載安裝包
成都創新互聯秉承實現全網價值營銷的理念,以專業定制企業官網,網站制作、成都網站設計,微信平臺小程序開發,網頁設計制作,手機網站制作,成都全網營銷推廣幫助傳統企業實現“互聯網+”轉型升級專業定制企業官網,公司注重人才、技術和管理,匯聚了一批優秀的互聯網技術人才,對客戶都以感恩的心態奉獻自己的專業和所長。
安裝包下載地址:golang.org/dl/
這里選擇下載Windows版本,點擊鏈接打開的頁面可能不會開始下載;地址欄里會顯示完整的下載地址,如:golang.org/doc/install?download=go1.5.1.windows-amd64.msi,不開始下載也沒關系,我們復制一下下載地址,用迅雷之類的下載工具下。
開始安裝
一路下一步就行了,沒什么需要設置的,安裝目錄最好保持默認,避免遇到一些怪問題。
安裝完成之后就可以打開命令行,看看安裝成功了沒有;
任意目錄下,直接執行“go”,能看到類似以下內容就對了:
或者執行:
[plain] view plain copy
C:\go?version
go?version?go1.5.1?windows/amd64
注意:我在安裝完成之后執行“go”的時候就提示找不到文件或目錄,我打開環境變量,在用戶變量里加了一個PATH,
檢查系統變量“PATH”中也有“C:\Go\bin”,然后就在后面加了一個分號,確定保存之后再打開命令行就可以了,也不知道到底是哪個起作用了。
1、解壓壓縮包到go工作目錄,如解壓到E:\opensource\go\go,解壓后的目錄結構如下:
E:\opensource\go\go
├─api
├─bin
│ ├─go.exe
│ ├─godoc.exe
│ └─gofmt.exe
├─doc
├─include
├─lib
├─misc
├─pkg
├─src
└─test
2、增加環境變量GOROOT,取值為上面的go工作目錄
3、Path環境變量中添加";%GOROOT%\bin",以便能夠直接調用go命令來編譯go代碼,至此go編譯環境就配置好了
注:如果不想手動設置系統環境變量,也可下載go啟動環境批處理附件,
修改goenv.bat文件中的GOROOT值為上面的go工作目錄后直接雙擊該bat文件,go編譯環境變量即設置完成。
4、測試go編譯環境,啟動一個cmd窗口,直接輸入go,看到下面的提示就是搭建成功了
E:\opensource\go\gogo
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands are:
build compile packages and dependencies
clean remove object files
doc run godoc on package sources
env print Go environment information
fix run go tool fix on packages
fmt run gofmt on package sources
get download and install packages and dependencies
install compile and install packages and dependencies
list list packages
run compile and run Go program
test test packages
tool run specified go tool
version print Go version
vet run go tool vet on packages
Use "go help [command]" for more information about a command.
Additional help topics:
gopath GOPATH environment variable
packages description of package lists
remote remote import path syntax
testflag description of testing flags
testfunc description of testing functions
Use "go help [topic]" for more information about that topic.
5、編譯helloworld測試程序,go語言包中test目錄帶有helloworld.go測試程序,源碼見"附一 helloworld.go",
直接調用"go build helloworld.go"就生成了"helloworld.exe"可執行程序,運行一下這個程序看到了我們期望的hello,wolrd。
E:\opensource\go\go\testgo build helloworld.go
E:\opensource\go\go\testhelloworld.exe
hello, world
E:\opensource\go\go\test
附一 helloworld.go
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Test that we can do page 1 of the C book.
package main
func main() {
print("hello, world\n")
}
go 在Linux下其實根本不用安裝,解壓后復制到usr/local下即可,再配置一下路徑:
export PATH=$PATH:/usr/local/go/bin
不過學習程序最好還是在linux環境下,這是因為,
精彩在這里:
除動態語言外,靜態語言都會產生目標文件o或obj,然后找到庫文件后鏈接成可執行文件。C語言如此,Go語言也是如此,你可用go run -work運行程序時來發現運行的目錄。這個目錄在linux下就是/tmp目錄,為加快速度和減少硬盤損耗(個人認為這更重要),可把tmp設置成tmpfs格式。
可加入一行:none /tmp tmpfs default 0 0
或加入mount tmpfs /tmp -t tmpfs -o size=128m
減少硬盤讀取就是運行流暢。
部署簡單。Go編譯生成的是一個靜態可執行文件,除了glibc外沒有其他外部依賴。這讓部署變得異常方便:目標機器上只需要一個基礎的系統和必要的管理、監控工具,完全不需要操心應用所需的各種包、庫的依賴關系,大大減輕了維護的負擔。這和Python有著巨大的區別。由于歷史的原因,Python的部署工具生態相當混亂【比如setuptools,distutils,pip,
buildout的不同適用場合以及兼容性問題】。官方PyPI源又經常出問題,需要搭建私有鏡像,而維護這個鏡像又要花費不少時間和精力。
并發性好。Goroutine和channel使得編寫高并發的服務端軟件變得相當容易,很多情況下完全不需要考慮鎖機制以及由此帶來的各種問題。單個Go應用也能有效的利用多個CPU核,并行執行的性能好。這和Python也是天壤之比。多線程和多進程的服務端程序編寫起來并不簡單,而且由于全局鎖GIL的原因,多線程的Python程序并不能有效利用多核,只能用多進程的方式部署;如果用標準庫里的multiprocessing包又會對監控和管理造成不少的挑戰【我們用的supervisor管理進程,對fork支持不好】。部署Python應用的時候通常是每個CPU核部署一個應用,這會造成不少資源的浪費,比如假設某個Python應用啟動后需要占用100MB內存,而服務器有32個CPU核,那么留一個核給系統、運行31個應用副本就要浪費3GB的內存資源。
良好的語言設計。從學術的角度講Go語言其實非常平庸,不支持許多高級的語言特性;但從工程的角度講,Go的設計是非常優秀的:規范足夠簡單靈活,有其他語言基礎的程序員都能迅速上手。更重要的是Go自帶完善的工具鏈,大大提高了團隊協作的一致性。比如gofmt自動排版Go代碼,很大程度上杜絕了不同人寫的代碼排版風格不一致的問題。把編輯器配置成在編輯存檔的時候自動運行gofmt,這樣在編寫代碼的時候可以隨意擺放位置,存檔的時候自動變成正確排版的代碼。此外還有gofix,
govet等非常有用的工具。
執行性能好。雖然不如C和Java,但通常比原生Python應用還是高一個數量級的,適合編寫一些瓶頸業務。內存占用也非常省。
1、簡單易學。
Go語言的作者本身就很懂C語言,所以同樣Go語言也會有C語言的基因,所以對于程序員來說,Go語言天生就會讓人很熟悉,容易上手。
2、并發性好。
Go語言天生支持并發,可以充分利用多核,輕松地使用并發。 這是Go語言最大的特點。
描述
Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Go的并行模型是以東尼·霍爾的通信順序進程(CSP)為基礎,采取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特征,比如通道傳輸。
在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。
與C++相比,Go并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了 切片(Slice) 型、并發、管道、垃圾回收、接口(Interface)等特性的語言級支持。
網站欄目:go語言win,Go語言面試題
本文地址:http://vcdvsql.cn/article6/heoiig.html
成都網站建設公司_創新互聯,為您提供虛擬主機、網站內鏈、商城網站、自適應網站、企業網站制作、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯