go 常用模組

2021-10-03 03:51:39 字數 4739 閱讀 5078

fmt 模組:

println   輸出

printf 格式化輸出

scanln 獲取引數(傳參,類似python的input)

如:var name string

fmt.scanln(&name)

fmt.println(name) //結果就是輸入的值

scanf 接受引數(也是類似python的input作用)

例子:package main

import "fmt"

func main()

結果:輸入值

輸入值

通用:%v 值的預設格式表示

%+v 類似%v,但輸出結構體時會新增欄位名

%#v 值的go語法表示

%t 值的型別的go語法表示

%% 百分號

布林值:

%t true或false

整數:%b 表示為二進位制

%c 該值對應的unicode碼值

%d 表示為十進位制

%o 表示為八進位制

%q 該值對應的單引號括起來的go語法字元字面值,必要時會採用安全的轉義表示

%x 表示為十六進製制,使用a-f

%x 表示為十六進製制,使用a-f

%u 表示為unicode格式:u+1234,等價於"u+%04x"

浮點數與複數:

%b 無小數部分、二進位制指數的科學計數法,如-123456p-78;參見strconv.formatfloat

%e 科學計數法,如-1234.456e+78

%e 科學計數法,如-1234.456e+78

%f 有小數部分但無指數部分,如123.456

%f 等價於%f

%g 根據實際情況採用%e或%f格式(以獲得更簡潔、準確的輸出)

%g 根據實際情況採用%e或%f格式(以獲得更簡潔、準確的輸出)

字串和byte:

%s 直接輸出字串或者byte

%q 該值對應的雙引號括起來的go語法字串字面值,必要時會採用安全的轉義表示

%x 每個位元組用兩字元十六進製制數表示(使用a-f)

%x 每個位元組用兩字元十六進製制數表示(使用a-f)

指標:%p 表示為十六進製制,並加上前導的0x

strings 字串模組

1、index  輸出第乙個字元(從左到右)的序號 如:strings.index("suoning", "n") 結果:3

2、lastindex 輸出最後乙個(和上面相反) 如:strings.lastindex("suoning", "n") 結果:5

3、replace 替換 大於0的數表示替換幾個,0不替換,小於0替換所有 如:strings.replace("suoning", "n", "#",-1 ) 結果:suo#i#g

4、hasprefix 類似python的startswith,判斷以什麼開頭,返回true和false ,如:strings.hasprefix("suoning", "suo") 結果:true

5、hassuffix 判斷以什麼結尾,類似python的endswith 如:strings.hassuffix("suoning", "ning") 結果:true

6、contains 判斷字串s是否包含子串s1 如:strings.contains("suoning", "suoni") 結果:true

7、count 出現的次數(計數) 如:strings.count("nnnnnn", "n") 結果:6

8、repeat 字串*n 如:strings.repeat("n", 6) 結果: nnnnnn

9、tolower 所有字母小寫 如:strings.tolower("suoning") 結果:suoning

10、toupper 所有字母大寫 如:strings.toupper("suoning") 結果:suoning

11、trimspace 去掉前後端的所有空格 如:strings.trimspace(" \nsuoning\n ")) 結果:nsuoning

12、trim 將前後端所有符合條件的字串去掉 如:strings.trim("!!suoning!!", "!") 結果:su!oning

13、trimleft 所有前端符合條件的字串去掉 如:strings.trimleft("!suoning!", "!") 結果:su!oning!

14、trimright 所有符合後端的字串去掉 如:strings.trimright("!suoning!", "!") 結果:!su!oning

15、fields 按照空格分割的多個字串 如:strings.fields(" suo ning ") 結果:[suo ning]

16、split 分割 如:strings.split(",suo,ning,", ",") 結果:[ suo ning ]

17、join 拼接 如:strings.join(string," ") 結果:abcd ddd

time時間模組

1、now 當前時間 如:time.now() 結果:2019-03-04 15:33:25.044013971 +0800 cst m=+0.000231204

2、unix 時間戳 如:time.now().unix() 結果:1551684901

3、stamp 時間(沒有年月日,只精確到s) 如:time.stamp 結果:jan _2 15:04:05

4、date 指定時間 如:time.date(2008, time.november, 11, 23, 0, 0, 0, time.utc) 結果:2008-11-11 23:00:00 +0000 utc

5、format 格式輸出時間 如:time.now().format("2006-1-02 15:04:05" ) //必須使用這個時間才行2006-1-02 15:04:05 結果:2019-3-04 15:48:01

6、parseduration 新增或減少時間 例如:t,_ := time.parseduration("-10m") //小時為-10h ,天為

println(time.now().add(t)) 結果: 2019-03-04 15:55:21.436413622 +0800 cst m=-599.999598120

7、sleep 睡眠時間, time.second為秒 如:time.sleep(time.second*10) 睡眠10秒

os 系統模組

1、hostname   主機名 如:os.hostname() 結果:localhost.localdomain 2、getpagesize 返回底層的系統記憶體頁的尺寸  如:os.getpagesize() 結果:4096

3、environ 檢視環境變數 如:os.environ()

4、getenv 獲取環境變數的值 如:os.getenv("shell") 結果:/bin/bash

5、setenv 設定環境變數 如:os.setenv("a", "b") //設定環境變數a值為b

6、clearenv 刪除所有環境變數 如:os.clearenv()

7、exit 退出程式,並返回給的狀態碼 如:os.exit(2) 結果:exit status 2

8、getuid 呼叫者的使用者id 如:os.getuid()//使用的root 結果:0

9、geteuid 呼叫者的有效使用者id 如:os.geteuid() 結果:0

10、getgid 呼叫者的組id 如:os.getgid() 結果:0

11、getegid 呼叫者的有效組id 如:os.getegid() 結果:0

12、getgroups 呼叫者所屬的所有使用者組的組id 如:os.getgroups() 結果:[0] 13、getpid 呼叫者所在程序的程序id 如:os.getpid() 結果:116742

14、getppid 呼叫者所在程序的父程序的程序id 如:os.getppid() 結果:116725

15、getwd 當前所在路徑(類似shell的pwd) 如:os.getwd() 結果:/data/go 16、chdir 更改當前所在目錄(類似shell的cd) 如:os.chdir("/tmp/") //切換到/tmp目錄下

17、mkdir 建立目錄(shell的mkdir一樣) 如:os.mkdir("/tmp/test")

18、mkdirall 遞迴建立目錄(shell的mkdir -p) 如:os.mkdirall("/tmp/test1/test2/test3")

19、rename 更改檔案或目錄的名字 如:os.rename("/tmp/test1", "/tmp/test2")

20、remove 刪除檔案或目錄 如:os.remove("/tmp/test2/test2")

21、removeall 遞迴刪除 如:os.removeall("/tmp/test1/")

22、create 建立檔案,存在會清空 如:os.create("/tmp/test")

23、open 開啟檔案 如:os.open("/tmp/test")

常用模組 re模組

由堆具有特殊意義的字元組成的式子。用於匹配查詢字串內容。主要學習重點,就是學習這些字元的含義。abc 表示式不包含任何特殊字元,就是精準匹配,說白了判斷是否相同 print re.findall abc abcbbb abc n t f 符號含義 a從字元的開始處開始匹配 z從字元的結尾處匹配 從字...

常用模組 xml模組

格式 也是一種通用的資料格式 之所以用它是因為塊平台性。一 任何的起始標籤都必須有 乙個結束標籤。二 可以採用另一種簡化語法,可以在乙個標籤中同時表示起始和結束標 籤。這種語法是在 於符號之前緊跟乙個斜線 xml 三 標籤必須按合適的順序進 行 巢狀,所以結束標籤必須按映象順序匹配 起始標籤。這好 ...

常用模組 pickle模組

import pickle name msj age 25height 184user 記憶體中資料 pickle模組是乙個用來序列化的模組。指的是將記憶體中的資料結構轉為一種中間格式,並儲存在硬碟上。將硬碟上儲存的中間格式檔案還原成記憶體中的資料結構。就是為了將資料永久儲存,之前學過檔案也能完成永...