Go語言簡述linux
Go語言站點web
Go基礎環境搭建(linux&windows)編程
hello word程序windows
Go語言特性併發
Go命令介紹異步
特徵:ide
語法簡單:語法標準比較嚴格,適合開發人員短期高效的服務端開發。函數
併發模型:Goroutine是Go最顯著的特徵,使用類協程的方式來處理併發,搭載channel實現CSP模型高併發
內存分配:Go選擇tcmaclloc來實現高併發的內存管理和分配工具
垃圾回收:防止出現OOM的坑
靜態連接:簡化了部署和發佈操做,極大程度上下降了代碼發佈的依賴關係
標準庫:功能完善的標準庫,有利於下降學習成本
工具鏈:不管是編譯,格式化,錯誤檢查,幫助文檔和對應的測試支持都比較完善
總結:
go語言做爲一個現代化的開發語言,利用其高併發的特性,有利於實現服務端開發;再結合自身的語法規範性上,能夠更好的爲API的開發提供更好的幫助;做爲一種編譯性開發語言。在web開發方面還存在着必定的高效性差距;然而在經過同步方式封裝異步概念來更好的處理併發,因此更適合如今的服務端開發。
export GOROOT=$PATH:/path/to/go/ export PATH=$PATH:$GOROOT/bin/ export GOPATH=/home/user/project/go
Go是強類型語言,複用的最小單位是package(包)
Go命令:
go run 快速運行go文件,就像執行腳本同樣
go build 編譯程序,生成二進制可執行文件
go install 安裝可執行文件到bin目錄
go test 執行單元測試或壓力測試 go test -v 詳細
go env 顯示go相關的環境變量
go fmt 格式化源代碼 ,字符串只能用雙引號
Go須知:
package main 全部的入口必須是main 函數 , 不須要傳參數,和返回值
package cacl是一個庫
func函數 是關鍵字,
GOPATH 工做區,全部項目都是在工做區,GOPATH路徑最好只設置一個
若是要使用包裏的一個文件,那必須把這個包都導入
import 中使用別名 是在 包名前面 在一個自定義字母就行
go 源碼按package進行管理,而且package要放到非註釋的第一行
一個程序只有一個main包和一個main函數, main函數是程序的執行入口!!
單行註釋//, 多行註釋 /* 內容 */
Go編程基礎須知:
類型必須在變量後面 : 自動會更根據後面的類型,給前面變量賦值類型
定義變量 var sum int --> sum就是變量,int 是類型
有個更簡易的變量賦值方法 := 聲明變量而且賦值
11
Go代碼:
func Add(a int,b int) int { return a + b } //求差 func Sub(a int,b int) int { return a - b } //多返回值混合運算 func Calc(a int,b int) (int,int) { sum := a + b sub := a - b return sum,sub }