golang的開發學習

2021-10-01 18:52:20 字數 693 閱讀 9380

error 是介面型別 通過 errors.new 函式生成的錯誤值 只能賦值給變數 而不能賦給常量

syscall 包 errno 型別 代表了系統呼叫時可能發生的底層錯誤

這個錯誤型別 是error介面的實現型別 同時也是對內建型別 uintptr 的再定義型別

可以作為常量的型別 用其建的錯誤值列表 無法被修改

os 包 的錯誤值

程序是某個程式執行時的乙個產物 乙個程序至少包含乙個執行緒

如果只包含乙個執行緒 所有**都會被序列地執行

第乙個執行緒叫做主線程 其他的執行緒都是由程序中已經存在的執行緒創造出來的 其他執行緒只能由**顯式建立和銷毀 系統一般不會去操作

go 語言的執行時 runtime 會幫忙處理系統級的執行緒

由**處理建立 銷毀 排程 狀態變更的執行緒 速度快 控制靈活 非常複雜

goroutine 獨特的併發程式設計模型

g goroutine

p processor g m 對接的中介

m machine 系統級執行緒

沒有任何內容輸出

改進方式是使用通道

使用乙個通道儲存一些令牌 只有先拿到乙個令牌 才能啟用乙個 goroutine 另外在go 函式 即將執行結束的時候 還需要把令牌即時歸還給那個通道

任務分發器 任務管道 固定個數的goroutine

動態任務池 動態 goroutine 池

golang開發 二 安裝 Golang

當然了我們的安裝都是在vagrant裡面安裝,vagrant ssh。不用虛擬機器了,本機安裝當然也可以。go is a tool for managing go source code.usage go command arguments the commands are build compil...

golang開發 二 安裝 Golang

當然了我們的安裝都是在vagrant裡面安裝,vagrant ssh。不用虛擬機器了,本機安裝當然也可以。go is a tool for managing go source code.usage go command arguments the commands are build compil...

Golang開發中的問題

beego的orm問題 涉及到兩個問題 1 事物問題,事務無效 列如 資料庫表中有id等於1,2,3,4 對資料庫進行id等於0的修改,雖然開啟了事務 但是在這樣的前提下,依然沒有給任何錯誤提示,給人提交成功的感覺 2 讀取問題 在上述的更新過程中,在所謂的更新成功後,緊接著繼續查詢,竟然能查到資料...