原创 十八、文件持久化(CSV&GOB)

1.CSV encoding/csv 包提供對 csv 文件讀寫的操作 a) 常用結構體 ⚫ Reader 常用函數 ➢ NewReader 常用方法 ➢ Read ➢ ReadAll ⚫ Writer 常用函數 ➢ NewWri

原创 Go練習題(11)

net包練習 //server.go package main import ( "bufio" "fmt" "io/ioutil" "net" "os" "path/filepath" "strings" ) /

原创 二十四、WEB開發

1.HTML 常用標籤 註釋 標題 h1~h6 段落 p 超鏈接 a 圖片 img 表單 form input: text/password/radio/checkbox/file/date/datetime/url/submi

原创 二十三、管道

在go語言中可以通過chan來定義管道,可以通過操作符<-和->對管道進行讀取和寫入操作 通過管道維護例程狀態: 1.讀寫管道(聲明&賦值&操作) 使用make函數初始化,make(chan type)/make(chan typ

原创 Go練習題(10)

點對點聊天 v1版本 //server.go package main import ( "fmt" "net" "time" ) func main() { addr := "0.0.0.0:9999" liste

原创 七、4.字符串(strings)

package main import ( "fmt" "strings" ) func main() { //Compare 比較兩個字符串的大小 後面大於前面返回-1 後面大於前面返回1

原创 十二、方法

方法是爲特定類型定義的,只能由該類型調用的函數 1.定義&調用 package main import ( "fmt" ) type Dog struct { Name string } //方法是爲特定類型定義

原创 十六、工具方法(io/ioutil&path/filepath)

1.io/ioutil ioutil 包主要提供對流的實用操作功能 a) 常用函數 ⚫ ReadAll:讀取流中所有內容 ⚫ ReadDir:讀取目錄中文件信息 ⚫ ReadFile:讀取文件 ⚫ TempDir:創建臨時目錄 ⚫

原创 九、錯誤處理

1.error 接口 Go 語言通過 error 接口實現錯誤處理的標準模式,通過使用函數返回值列表中的最後一個 值返回錯誤信息,將錯誤的處理交由程序員主動進行處理 package main import ( "erro

原创 十五、標準輸入輸出

package main import ( “bufio” “fmt” “os” ) func main() { //os.Stdin //os.Stdout fmt.Println(“xxx”) os.Stdout.Write(

原创 Go練習題(8-1)

V1 使用函數來解決需求 需求(在之前的用戶管理的基礎上) 1.用戶數據持久化 gob csv 密碼也持久化 每次操作完持久化 User不能有全局的 每次需要用User 從文件反序列化 2.當文件不存在,獲取反序列化失敗,

原创 二十一、Json

1.介紹 在內存數據進行持久化存儲或網絡交換時常可採用 json 格式字符串,go 語言提供 json 包進行 json 序列化和反序列化 對於 Go 提供的基本類型和符合類型可以直接使用 json 包進行序列化和反序列化操作,

原创 七、7.映射(map)

1.聲明 map 聲明需要指定組成元素 key 和 value 的類型,在聲明後,會被初始化爲 nil,表示 暫不存在的映射 2.初始化 a) 使用字面量初始化:map[ktype]vtype{k1:v1, k2:v2, …, k

原创 十、單元測試與基準測試

Go 提供了 test 工具用於代碼的單元測試,test 工具會查找包下以_test.go 結尾的文件,調用測試文件中以 Test 或 Benchmark 開頭的函數並給出運行結果 單元測試指的是功能測試 基準測試指的是性能測試

原创 Go練習題(8-2)

8-1是使用函數 這裏使用方法 1.用戶數據持久化 gob csv 密碼也持久化 每次操作完持久化 User不能有全局的 每次需要用User 從文件反序列化 2.當文件不存在,獲取反序列化失敗,不能報錯 3.密碼文件不存在