Go 的優點
Go like C++
- 記憶體消耗少
- 執行速度快
- 啟動快
Go not like C++ - 程式編譯時間短
- 像動態語言一樣靈活(runtime, interface, 閉包,反射)
- 記憶體并發正常
defer
defer 執行順序是先進后出,堆疊的方式 FIFO ,引數的值在 defer 陳述句執行就已經確定了
for i := 0; i < 5; i++ {
defer fmt.Printf("%d ", i)
}
執行結果:
4 3 2 1 0
append 不是執行緒安全的
slice 中,如果 a[x] 和 b[y] 指向同一個記憶體區域,那么存在競態關系
package main
import (
"fmt"
)
func main() {
a := []int{1, 2}
b := a[1:]
go func() {
a[1] = 0
}()
fmt.Println(b[0])
}
slice.go
package main
import (
"fmt"
)
func main() {
a := []int{1, 2}
b := a[1:]
go func() {
a[1] = 0
}()
fmt.Println(b[0])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/286453.html
標籤:區塊鏈
