這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
最近項目中需要開發抗並發的db proxy,API GATEWAY
等;同時,隨著虛擬化的過程中出現各種問題。作為一個老程式員,go語言的學習,已經刻不容緩。
一、基礎背景
Go是Google開發的一種靜態強型別、編譯型、並髮型
,並具有記憶體回收
功能的程式設計語言
對於go語言的特性,網上大牛總結,對於個人來說特別看重語言互動和並發性
:
- 自動記憶體回收
- 更豐富的內建類型
- 函數多傳回值
- 錯誤處理
- 匿名函數和閉包
- 類型和介面
- 並發編程
- 反射
- 語言互動性
二、安裝
建議參考:
http://dmdgeeker.com/goBook/d...
需要注意的是 gopath一定要配置,配置到自己的workspace即可:
# go path change by cuihuanexport GOPATH=/Users/cuixiaohuan/Desktop/workspace/goexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOPATH
workspace的基本目錄規範可以參考:https://go-zh.org/doc/code.html
- src 目錄包含Go的源檔案,它們被組織成包(每個目錄都對應一個包),
- pkg 目錄包含包對象,
- bin 目錄包含可執行命令。
三、hello world
代碼
package mainimport "fmt"func main() { fmt.Println("Hello World")}
語言簡述:
1:package 是必須的,對於獨立啟動並執行執行檔案,必須是package main
2:import 表示引入的包,或者庫
3:程式中的主函數
4:執行函數
運行:
cuixiaozhuai:main cuixiaohuan$ go build hello.gocuixiaozhuai:main cuixiaohuan$ ./helloHello World
編譯和運行都非常簡單,而且比較方便的是跨平台編譯
# mac 下編譯cuixiaozhuai:main cuixiaohuan$ env GOOS=linux GOARCH=amd64 GOARM=7 go build hello.go # linux 開發機運行[work@xx.com ~]$ ./helloHello World
【轉載請註明:【GO學習一】 Hello World | 靠譜崔小拽 】