fmt 模块:
Println 输出
Printf 格式化输出<br>
Scanln 获取参数(传参,类似python的input)
如:
var name string
fmt.Scanln(&name)
fmt.Println(name) //结果就是输入的值
Scanf 接受参数(也是类似python的input作用)
例子:
package main
import "fmt"
func main(){
var name string
fmt.Println("name:")
fmt.Scanf("%s",&name)
fmt.Println(name)
}
结果:
输入值
输入值
通用:
%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"}," ") 结果: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 <nil>
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] <nil>
13、Getpid 调用者所在进程的进程ID 如:os.Getpid() 结果:116742
14、Getppid 调用者所在进程的父进程的进程ID 如:os.Getppid() 结果:116725
15、Getwd 当前所在路径(类似shell的pwd) 如:os.Getwd() 结果:/data/go <nil>
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")