簡簡單單學golang(三)

2021-08-26 08:12:02 字數 703 閱讀 2155

go 併發程式設計

解決併發問題高效

協程 比執行緒,程序更輕量,輕鬆上百萬,基於執行緒

主線程退出,協程結束

協程間同步

chan  goroutine間的通訊方式

ch := make(chan int)
ch <- c 寫 

c := <-ch 讀

協程裡寫,協程外讀,可以阻塞協程外的程式塊

協程裡讀,協程外寫,可以阻塞協程內的程式塊

誰讀誰阻塞,誰寫誰出讓

緩衝chan

c := make(chan int,n)  //緩衝大小,佇列滿了才阻塞
select

非同步非阻塞的一種方式

select 

case <-ch :

fmt.println("成功讀到資料")

case ch<-1 :

fmt.println("成功寫入資料")   

default:

fmt.println("default")

協程特點:

1、主動切換,讓出執行權

2、發生了io,導致執行阻塞

簡簡單單編譯原理

都說編譯原理挺難,其實它並不像大家想象中的那麼難,it s so easy 總的來說編譯原理可以分為以下幾個知識點 文法的分類 不確定的有限狀態自動機到確定的有限狀態自動機的轉換 正規表示式。掌握了這三個知識點,編譯原理中每個題的道理了,其實編譯原理就是這麼回事。下面具體介紹上面說的三個知識點 1....

簡簡單單寫程式

寫程式這麼多年,總有幾百萬行了。感覺,程式寫的方向,總的來說越來越簡單。乙個函式,簡簡單單幾行就完了,乙個類,簡簡單單幾個公有方法,也就完了。簡單,就不容易出錯,自己看自己的 看昏了的也有,乙個函式幾千行,人的腦子,堆疊顯然不夠用,看了後面,忘了前面,何苦呢。簡單,就好懂,乙個工程完了,心裡其實很發...

簡簡單單聯合查詢

最近兩節過於簡單都不配有腦圖 聯合查詢 union 含義 將多條查詢語句的結果合併成乙個結果 語法 查詢語句1 union 查詢語句2 應用場景 要查詢的結果來自多個表,且多個表沒有直接的連線關係,但查詢的資訊一致時 注意事項 1 要求多條查詢語句的查詢列數是一致的 2 要求多條查詢語句每一列的型別...