原创 Go語言每天一篇(day79)----類型的 String() 方法

一、今日題目: 下面代碼有什麼問題?func main() { c:=&ConfigOne{} c.String() } type ConfigOne struct { Daemon string } func (c

原创 Go語言每天一篇(day78)----switch...case語句

一、今日題目: 關於switch語句,下面說法正確的是? A. 單個case中,可以出現多個結果的選項; B. 需要使用break來明確退出一個case; C. 只有在case中明確添加fallthrought關鍵字,纔會繼續

原创 Go每天一篇(day64)----panic()和recover()

一、今日題目 下面列舉的是recover()的幾種調用方式,哪些是正確的? A. func A() { recover() panic(1) } B. func main() { defer recover() pa

原创 Go每天一篇(day77)----cap()函數、測試函數、可變函數

一、今日題目 關於cap函數適用下面哪些類型? A. 數組 B. channel C. map D. slice 下面的代碼輸出什麼? func main() { t := &testing.T{} Test13(t)

原创 日常學習總結golang(day5)---文件操作

文件操作 文件是什麼? 計算機中的文件是存儲再外部介質(通常是磁盤)上的數據集合,文件分爲文本文件和二進制文件。 1. 打開和關閉文件 os.Open()函數能夠打開一個文件,返回一個*File和一個err。對得到的文件實例調用c

原创 Go每天一篇(day65)----defer(),recover(),painc()進階

一、今日題目 flag是bool型變量,下面if表達式符合編碼規範的是? A.if flag B.if flag C.if flag==false D.if !flag 下面的代碼輸出什麼,請說明: func main()

原创 力扣----刪除鏈表中的節點

題目要求: 請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個鏈表 – head = [4,5,1,9],它可以表示爲: 示例 1: 輸入: head = [4,5,1,9],

原创 從文件中讀取數據,計算時間差並記錄到excel表格中

接到一個任務,將類似如下圖中的十萬條數據: 格式: 本地接收時間 [編號] Recived on [hello]: ‘發送的消息|發送時間|test’ 要求: 計算出每兩條的時間差,接收時間與發送時間的時間差 思路

原创 Go每天一篇(day63)----匿名函數和defer()

一、今日題目: 下面選項正確的是: A. 類型可以聲明在函數體內; B. Go語言支持 + + i 或者 - - i; C .nil是關鍵字; D. 匿名函數可以直接賦值給一個變量或者直接執行。 下面的代碼會輸出什麼?

原创 併發技術:CSP併發理論

異步(async) 並行:多個任務併發執行 同步(sync) 串行:多個任務依次執行 阻塞(block) 某個併發任務由於拿不到資源沒法幹活,從而無所事事地乾等 進程併發–線程併發–協程併發 異步回調(async callback

原创 有關channel的相關知識總結(1)

1.channel的特點 類似Unix中的管道(pipe) 先進先出,類似隊列 線程安全,多個goroutine同時訪問,不需要加鎖 channel是有類型的,一個整數的channel只能存放整數 多個goroutine之間通過

原创 sqlite3介紹、安裝及基本語法

一、sqlite3的簡介與語法 什麼是SQLite3? sqlite3是一個進程內的庫,實現了自給自足、無服務器、零配置、事務性的SQL數據庫引擎。它是一個增長最快的數據庫引擎。它不是一個獨立的進程,可以按應用程序需求進行靜態

原创 關於TCP建立連接需要三次握手總結

一、三次握手介紹 第一次握手:建立連接。 客戶端發送連接請求報文段,將SYN位置1,Seq 爲x;然後客戶端進入SYN_Send狀態,等待服務器確認; 第二次握手:服務器收到SYN報文段,併發送SYN+ACK報文段。 服務器收到

原创 golang 通過fsnotify監控文件

一、 需要下載的包 go get github.com/fsnotify/fsnotify 二、使用fsnotify監控文件 type Watch struct { Watch *fsnotify.Watcher } fu

原创 有關channel的相關知識(2)

1.channel阻塞 初始化定義的intchan的長度是10,所以當循環寫入100數字是會發生channel阻塞的問題。 func main() { intChan := make(chan int, 10) go writ