Go初識-day4-作用域、數據類型與操作符

變量的作用域 在函數內部聲明的變量叫做局部變量,生命週期僅限於函數內部;可見性也僅限於函數內部,函數外部皆無法訪問 若函數內部有語句塊,如for,if,switch內部的語句塊,亦指{}內部,在語句塊內部定義的變量,在跳脫語句塊後也會回收 在函數外部聲明的變量叫做全局變量 生命週期作用於整個程序 如果變量名為大寫可以在外部訪問調用 函數外部只能聲明變量、常量,不能執行代碼

Continue Reading →

Go初識-day1-語言特性(高併發與channel的演示)

特性 是現今雲計算時代的C語言 可直接編譯不依賴其他的庫(library) 為靜態語言,執行效率高 垃圾回收C/C++因為給予程序員較自由的內存管理權限,但申請內存空間要是忘記釋放會造成內存洩漏導致記憶體滿載 Golang中有完整的GC機制,可以完整且快速掃描當前程序不需要使用的 對象 或 變量 並回收內存使用再也不需要開發人員主動去管理內存 開發人員可專注業務實現,降低負擔 只需使用new方法 分配內存,完全不用擔心釋放問題

Continue Reading →

Python模塊-協程(yield,greenlet,gevent)

Preface: 不管是線程(threading)或是進程(multiprocessing)都為一種搶占資源(競爭式)的型式執行程序 資源消耗大,且CPU切換耗時 Introduction: 協程為單線程,因此不存在CPU線程之間的切換,效率高 協成為單線程,不存在GIL鎖,且數據取用相對安全 協程為單線程,併發次數幾近無限次,適合用於高併發處理

Continue Reading →

Python模塊-multiprocessing多進程

Preface: Python中同時間一個進程只能有一個線程通過GIL交給其中一個CPU執行 同時間要完成多任務能透過創建多進程(multiprocessing)交給不同CPU執行 進程: 程序是未運行的EXE檔:其還沒運行之前,無法調度系統的資源(內存、設備如滑鼠鍵盤等) 進程是運行起來的程序檔案:其能調度系統資源,稱為進程 操作系統分配資源的基本單位 Introduction: multiprocessing是Python中多進程的管理模塊 其使用方法與多線程(threading)模塊類似,只是環境不同而已 創建進程所耗費的資源較創建線程大

Continue Reading →