go技巧分享(三)

2021-08-20 04:10:47 字數 1514 閱讀 7921

這是乙個系列文章,主要分享go的使用建議和技巧,每次分享3點,希望你能有所收穫。

package main

import

"fmt"

type user struct

func main()

fmt.printf("%v\n", u)

fmt.printf("%+v\n", u)

fmt.printf("%#v\n", u)}/*

main.user

*/

由示例中可以看到,這裡定義了乙個叫user的結構體,結構體中有name、age和addr三個字段,第一種列印方式通過%v,只能看到結構體的字段值,如果欄位較多,可讀性不是很好。第二種列印方式通過%+v,會列印出結構體的每個欄位名和相應欄位的值。第三種列印方式通過%#v,會列印出結構體的具體型別、欄位名稱和字段值,方便檢查結構的詳細資訊。所以如果需要在日誌中列印具體的結構體資訊,可以使用%#v方式。

package main

import (

"fmt"

"time"

)func main()

}

$ go

runtimer_demo

.gomon

may 20 14:43

:47 2018

monmay 20 14:43

:50 2018

monmay 20 14:43

:53 2018

(省略)

通過使用time包中的tick函式,可以實現乙個簡單的定時器,配合for迴圈可以週期性的執行某些操作。由示例中可以看到,執行示例程式,每隔3s會列印當前的系統時間。

package main

import (

"bytes"

"fmt"

"time"

)func main()

joinstrbyadd(strlist)

joinstrbybuffer(strlist)

}func joinstrbyadd(strlist string) string

return joinstr

}func joinstrbybuffer(strlist string) string

return joinstr.string()

}func elapsed(start time.time, funcname string)

/*call joinstrbyadd took 24.579838 seconds

call joinstrbybuffer took 0.002363 seconds

*/

通過bytes.buffer的快取機制,在連線大量字串時,可以大大的提公升效能。由示例中可以看到,這裡模擬了10萬個字串連線操作,使用傳統的加號方式和使用bytes.buffer方式,效能相差上萬倍。其實不止go語言提供了這種快取機制,大多數語言都有類似方式實現字串連線。

Word使用技巧收集分享(三)

word中的常用快捷鍵吧 字型 對話方塊 ctrl d 選擇框式工具欄中的 字型 框 ctrl shift f 加粗 ctrl b 傾斜 ctrl i 下劃線ctrl u 上標 效果 ctrl shift 下標 效果 ctrl 關閉 命令 ctrl w word快捷鍵一覽表 word雙面列印技巧 我...

科目三考試小技巧分享

科目三俗稱大路考,很多小夥伴都在說太緊張,太容易掛了,但其實呢,科目三是有幾個基本的技巧要掌握的,下面是小才女自己總結的科目三需要練習的幾個基本功,學會了科目三考試想不及格都難。長話短說,言歸正傳。第乙個基本功就是掛擋 掛擋動作要準確,如果動作不到位,很容易掛錯當或者掛不上檔 不能斜著掛擋,要直角掛...

XShell 技巧分享

xshell是個好用的ssh客戶端工具,沒有之一。這個軟體完全免費,簡單易用,可以滿足通過ssh管理linux vps所有需要,唯一遺憾的是沒有官方中文版。這裡記錄幾則小技巧。一 帳號密碼儲存。可以儲存多個vps登陸資訊,免去每次輸入的煩惱。二 數字小鍵盤輸入。如果不設定的話,輸入數字小鍵盤,會顯示...