原创 Go語言-panic和recover使用實戰

panic 正常的函數執行流程將立即終止,但函數中之前使用defer關鍵字延遲執行的語句將正常展開執行,之後該函數將返回到調用函數,並導致逐層向上執行panic()流程,直到所屬的goroutine中所有正在執行的函數將被終止。錯誤信息將被

原创 Go語言-Context上下文實踐

使用 Context 的程序包需要遵循如下的原則來滿足接口的一致性以及便於靜態分析 1.不要把 Context 存在一個結構體當中,顯式地傳入函數。Context 變量需要作爲第一個參數使用,一般命名爲ctx 2.即使方法允許,也不要傳入一

原创 Go語言-make陷阱和閉包函數

Go語言make陷阱 a := make([]int, 3) a = append(a, 1, 2, 3) 切片大小變成6 匿名函數 匿名函數是指不需要定義函數名的一種函數實現方式,可以直接賦值給一個變量或者直接運行 閉包 Go的匿名函

原创 Go語言-第一個程序

實例 helloworld.go package main import ( "fmt" ) func main() { fmt.Println("hello, world!") } 編譯 注意編譯的時候,記得把源文件放

原创 Go語言-flag使用

flag包 實現了命令行的flag解析 用法 func String(name string, value string, usage string) *stringString 定義了一個指定名字爲name的string類型flag,

原创 Go語言-環境搭建

爲了使教程儘量簡潔,這裏只講解其中一種方式的安裝,如有需要其它安裝方式,自行查找資料 操作系統 Ubuntu 安裝Git # sudo apt install git 安裝go 下載tar.gz安裝包 點擊鏈接下載 鏈接或者直接 wge

原创 Go語言-defer的使用

defer 不管程序是否出現異常,均在函數退出時候,自動執行相關代碼 實戰 實例1 package main import ( "fmt" ) func main() { defer func() { f

原创 ubuntu安裝postman

wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gzsudo tar -xzf postman.tar.gz -C /optrm postman.tar.gzs

原创 下載圖片,並保存到指定大小和清晰度

獲取指定鏈接圖片,通過width、height 、option來設置圖片寬度、高度及清晰度,並保存到指定路徑package main import (     "bytes"     "fmt"     "io/ioutil"     "

原创 在Ubuntu 16.04 LTS安裝Mattermost(一)

             在Ubuntu 16.04 LTS安裝Mattermost(一)             在Ubuntu 16.04 LTS安裝Mattermost(二)    可以在一臺到三臺機器上安裝產品級別的Mattermo

原创 在Ubuntu 16.04 LTS安裝Mattermost(二)

 在Ubuntu 16.04 LTS安裝Mattermost(一) 在Ubuntu 16.04 LTS安裝Mattermost(二)配置Mattermost    創建系統管理員用戶,設置Mattermost的一般用途    .打開瀏覽器,

原创 mongodb筆記1

參考鏈接:    https://docs.mongodb.com/manual/reference/method/db.createUser/#create-administrative-user-with-rolesLinux下安裝mo

原创 MarkDown 入門

可以在安裝有MarkDown插件的sublime text 打開查看效果類 Setext 形式是用底線的形式,利用 = (最高階標題)和 - (第二階標題),例如:This is an H1=============This is an H

原创 Ubuntu安裝supervisor

1.apt install python-setuptools 2.easy_install supervisor 3.echo_supervisord_conf > /etc/supervisord.conf

原创 GO開發的百萬websocket

https://medium.com/@gobwas/million-websockets-and-go-cc58418460bb