配置多行字串 參考
使用 |, |+, |- 配置
|: 文中自動換行 + 文末新增 1 行空行 |+: 文中自動換行 + 文末新增 2 行空行 |-: 文中自動換行 + 文末不新增行
清除沒用到的物件 WARNING! This will remove:
all stopped containers all networks not used by at least one container all dangling images all dangling build cache docker system prune
整理
service local k8s username password mysql 30000 3306 root secret postgresql 30001 5432 root secret redis 30002 6379 etcd 30003 2379, 2380 root 本機開發安裝項目 zsh 安裝 powerlevel10k 主題 site golang 先至 golang 官網安裝一版新的 golang (因為要有 golang 才可以 build golang) website install 安裝 GVM 來管理 golang 套件 site GVM 安裝後就可以安裝各種對應版本的 golang intel 是 amd64 M1 (apple silicon) 是 arm64 安裝 Goland website install Optional:
Reading and Writing bufio 用於 buffered input 和 output
最簡單的 input 方式是使用 fmt 的 Scan 方法
var firstName, lastName string fmt.Scanln(&firstName, &lastName) Scanln 從 standard input 讀取 text,以空白隔開的輸入,直到掃到 newline
Scanf, Fscanf, Sscanf 透過 format string 來 parse 參數
Scanf 透過 keyboard 輸入 Sscanf 透過其他 string 輸入 透過 bufio 取得輸入字串
// os.Stdin 滿足 io.Reader inputReader = bufio.NewReader(os.Stdin) fmt.Println("Please enter some input: ") input, err = inputReader.ReadString('\n') // err 是 io.
install brew install etcd 可在 service list 確認是否正常
brew services list # results etcd started yakushou730 ~/Library/LaunchAgents/homebrew.mxcl.etcd.plist 操作 安裝完後系統會有 etcdctl 的指令可以使用
寫入
etcdctl put foo bar 讀取
etcdctl get foo # result foo bar # 另一個範例 etcdctl get product.rpc --prefix # result product.rpc/7587860940551895303 192.168.0.221:8081 刪除
etcdctl del foo # result 1
Ints 對 int slice 做排序
sort.Ints(arr) IntsAreSorted 回傳 true / false 判斷 int slice 是否已經排序
func IntsAreSorted(arr []int) bool Float64s 對 float slice 做排序
func Float64s(a []float64) Strings 對 string slice 做排序
func Strings(a []string) SearchInts 對 已經排序好的 int arry 做搜尋
回傳 index
func SearchInts(a []int, n int) int SearchFloat64s func SearchFloat64s(a []float64, x float64) int // search for float64 SearchStrings func SearchStrings(a []string, x string) int // search for strings
Caller Caller() 會回傳呼叫到這個 method 的地方的資訊 (時間/檔案/行數)
Exit 透過系統錯誤碼終止程式
Open 以名稱開啟檔案
基本用法 t := time.Now() fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) // e.g.: 29.10.2019 Duration 是指兩個時間相減的 nano second (int64)
Location 會 mapping 時區
UTC: Universal Coordinated Time
Since 回傳過了多久
Since(t Time)
Format 把時間轉成特定格式
func (t Time) Format(s string) string
可也以是 time.ANSIC 或 time.RFC822
t := time.Now().UTC() fmt.Println(t.Format("02 Jan 2006 15:04"))// e.g: 29 Oct 2019 11:00 Sub 時間相減出來的時間差
delta := end.Sub(start)
IntSize 回傳 int 的 size 大小
Itoa int 轉 string
strconv.Itoa(i int) string
FormatFloat 把 float 轉成 string
strconv.FormatFloat(f float64, fmt byte, prec int, bitSize int) string
Atoi 字串轉 int
strconv.Atoi(s string) (i int, err error)
ParseFloat 字串轉 float
strconv.ParseFloat(s string, bitSize int) (f float64, err error)