golang語言特性
1. 垃圾回收
a. 記憶體自動回收,再也不需要開發人員管理記憶體
b. 開發人員專注業務實作,降低了心智負擔
c. 只需要new分配記憶體,不需要釋放
2. 天然并發
a . 從語言層面支持并發,非常簡單
b. goroute,輕量級執行緒,創建成千上萬個goroute成為可能
c. 基于CSP(Communicating Sequential Process)模型實作
func main() {
go fmt.Println(“hello")
}
3. channel
a . 管道,類似unix/linux中的pipe
b. 多個goroute之間通過channel進行通信
c. 支持任何型別
func main() {
pipe := make(chan int,3)
pipe <- 1
pipe <- 2
}
4. 多回傳值
a. 一個函式回傳多個值
func calc(a int, b int)(int,int) {
sum := a + b
avg := (a+b)/2
return sum, avg
}
第一個golang程式
1. hello world,在目錄下新建hello.go
package main
import(
“fmt”
)
func main() {
fmt.Println(“hello world”)
}
包的概念
1. 和python一樣,把相同功能的代碼放到一個目錄,稱之為包
2. 包可以被其他包參考
3. main包是用來生成可執行檔案,每個程式只有一個main包
4. 包的主要用途是提高代碼的可復用性
包的實戰:
1. calc目錄
2. 在calc目錄下新建calc.go
package calc
func Add(a int, b int) int {
return a + b
}
3. 修改hello.go代碼,如下
package main
import(
“fmt”
“calc”
)
func main() {
sum := calc.Add(3,5)
fmt.Println(“hello world,%d”,sum)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/13855.html
標籤:Go
下一篇:Java 的八種排序演算法
