原创 golang的入門day5(併發編程 + WaitGroup + 互斥鎖 + )

Go是一個 併發語言: 同時處理多個事情的能力稱爲併發性(同一時間點只能做一件任務), 而並行性(你邊跑,邊聽歌)。 並行不一定快: 因爲並行運行組件之間需要通信的,這個通信的成本很高,而併發通信的成本就很低了。 所以 線程間

原创 golang入門day7(CSP 併發模型 + 反射)

什麼是CSP併發模型: 嚴格的說CSP 應該是一門形式語言: 用於描述併發系統的互動模式。 CSP 中文名稱叫 通信順序進程, 是一個 很強大的併發編程模型,是Go語言成功的中重要因素 : go語言並未完全使用CSP模型, 而僅

原创 golang入門day6 (通道 + select)

什麼是通道 channel? ”不要通過共享內存來通信 ,而應該通過通信來共享內存“ : 這句話什麼意思呢? 舉個例子🌰: 如果要把數據傳遞個另外一個協程, 可以先將數據封裝成對象, 然後把對象的指針放進channel 中

原创 golang入門day5 (package + I/O)

包的創建方式: main 包 是應用程序的入口包, 其他的包不能使用 另外: 包內也可以嵌套定義包, 訪問不同包下的函數需要導入包, 訪問同一個包下不同文件的函數,不需要導入包。 點操作: 包名前加上. 那麼可以不用寫具

原创 golang入門day5 斷點續傳

Seek() 設置文件指針偏移 file.Seek 函數 設置文件指針的位置 第一個參數 : 相對偏移 第二個參數 相對哪個位置? 0 :start 1 current 2 end file.Seek(2,0) // 文

原创 Go:使用 fmt.Println() 編譯後比 println() 的體積大?

最近我看到 很多代碼 都喜歡使用 fmt.Println() 來進行輸出 但是 Go 內置的一個 println() 卻沒什麼人使用 println():用於 輸出基礎類型 的函數,因爲是 內置 函數,所以不需要 導包 fmt.P

原创 golang入門day3 函數(式編程)

函數 : Go 語言 用 func 關鍵字來定義 1 go 程序中 至少有一個 函數 main函數 2 Go語言 函數不能重載 語法格式 func FuncName( 參數.... ) (返回值...){ //To

原创 golang入門day3 (pointer + interface + type)

指針pointer pointer 存儲了一個變量內存的地址 package main import "fmt" func main(){ a:=1 var p1 *int = &a println(p1) var

原创 golang入門day4(panic 和 recover)

error go 不存在 try catch 機制 , go語言引入 error 接口類型 作爲錯誤的標準處理模式, 因此 error 在 go語言中也是一種數據類型。類似於 int float error 類型變量的定義

原创 golang 入門day2(複合類型 + string)

數組的訪問 // 下劃線代表用來 佔位 index , 我們不用 for _, v := range arr { //todo } 數組的 賦值 是 淺拷貝(值拷貝) 實質上會開闢一份空間,然後拷貝一份 ,不會影響原來 數組的

原创 Golang入門 day1

爲什麼選擇golang ? Go 性能比 C 和 C++更好 : Go優勢: 數據處理能力 和 高併發能力 C 和 Go 之父: 肯—湯普森 學習go 語言 要遵守規矩哦 eg : //規矩就是規矩 : go縮緊採用行

原创 基於Huffman 和 LZ77的文件壓縮(五)收尾

點我看LZ77代碼 壓縮好了,就知道文件怎麼存了 解壓縮就超級簡單了。 獲取標記文件,判斷比特位0還是1 遇見0直接解壓縮 遇見0向前匹配DIST距離,找LEN長度。 解決 大於64K文件的壓縮 針對上一篇無法解決64K以上文件也

原创 基於Huffman和LZ77的文件壓縮(一)Huffman壓縮

點我獲取代碼 1 壓縮的優點 1 節省空間 2 提高文件在網絡上的傳輸效率 3 壓縮可以形成一定程度上的加密。 2 文件壓縮的分類 1 有損壓縮 2 無損壓縮 無損壓縮: 通過解壓之後 能形成和源代碼一木一樣的壓縮方

原创 基於Huffman和LZ77壓縮(三)LZ77思路分析

Huffman壓縮詳細分析 LZ77: 基於重複語句的壓縮 1 什麼是LZ77 1977年兩個以色列人提出的基於重複語句上的通用的壓縮算法--------將重複語句替換成更短的<長度, 距離, 下個字符串首字母>對的方式。 真

原创 乘積最大子序列(連續/非連續)

乘積最大子數組(一) 連續 問題描述 給你一個整數數組 nums ,請你找出數組中乘積最大的連續子數組(該子數組中至少包含一個數字),並返回該子數組所對應的乘積。 class Solution { public: int