原创 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