Go标准库fmt | time | flag

简介: Go标准库fmt | time | flag

一、fmt

d371004fec284b4dbd0533987853fd2a.png


向外输出:

1.printf : 格式化输出
2.Fprint : 将内容输出到io.writer接口类型的变量w中
例子:fmt.Fprintln(os.Student,"向标准输出内容写入内容")
fmt.FprintF(file,"wuhu:%s",name)
3.Sprint :把传入的数据生成并返回一个字符串
例子: s1 := fmt.Sprint("sdf")
4.Errorf : 生成格式化字符串并返回一个包含该字符串的错误
例子:err := fmt.Errorf("这是一个错误")


格式化占位符

通用占位符:
    %v 默认输出
    %+v 默认输出 但是输出结构体时会添加字段名
    %#v 值为go语法表示
    %T 打印值类型
    %t 布尔类型
    %a.xf 可以精确到x小数,a是宽度
    %s 输出字符串| []byte


获取输入:

  fmt.Scan fmt.Scanf fmt.Scanln 获取用户的输入
    例子:fmt.Scan(&name,&age) 返回成功扫描的数据个数和遇到的任何问题
    fmt.Scanln 遇到回车扫描结束
    fmt.Scanf 只有按照格式输入才能扫描并存入
    fmt.Scan 可以简单的空格作为数据分隔符
bufio.NewReader  完整获取输入的内容 
strings.TrimSpace(s string)返回一个字符串类型的slice,将字符串前后空格去掉。中间的空格不会被去掉
Fscan : fscan fscanln fscanf 从io.Reader 中读取数据
Sscan : Sscan Sscanln Sscanf 从指定的字符串中读取数据


二、time

616a7fa4a2b448fc8cc0fd0ff8a66ee9.png


时间类型

now := time.Now()  获得当前时间
year ;= now.Year()
month := now.Month()
...


Location和time zone`

time.FixedZone 和 time.LoadLocation 获取location信息
FixedZone 返回时钟使用给定区域名称和偏移量
LoadLocation 加载一个位置得到对应的时区


时间间隔

time.Duration 代表
    时间操作 Add
    例子:now := time.New() later := now.Add(time.Hour) 加一个小时
    Sub 求出两个时间之间的差值
    Equal 判断那两个时间是否相同 ,考虑时区影响
    Before func (t Time) Before(u Time) bool t在u前为true
    After  func (t Time) After(u Time) bool t在u后为true


定时器

time.Tick(时间间隔)  
例子: ticker := time.Tick(time.Second)  定义一个1s间隔定时器


时间格式化

time.Format 讲一个时间对象格式化输出为指定布局的文本表示形式
时间格式化:2006-01-02 15:04:05.000 速记2006 1 2 3 4 5
    通过添加PM可以将时间格式化为12h


解析字符串格式的时间

time.Parse |  time.ParseInLocation
time.Parse 在解析式不需要额外指定时区信息
time.ParseInLocation 在在解析时额外指定时区信息


三、flag

cbe5b8aee18c4846ac181693b1147923.png


flag参数类型

定义定义行flag参数
flag.Type(flag名,默认值。帮助信息) 
    例子:flag.String("name","张三","姓名") 
    flag.Int("age",18,"年龄")
flag.TYpeVar(Tyep指针,flag名,默认值,帮助信息)
flag.Parse() 对命令参数进行解释
flag.Args() 返回命令行参数后的其他参数
flag.NArg() 返回命令行参数后的其他参数个数
flag.NFlag() 返回使用使用的命令行参数个数


相关文章
|
7月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
1301 103
|
8月前
|
Go 开发者
go-carbon v2.6.0 重大版本更新,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持
168 3
|
9月前
|
网络协议 Linux Go
用 Go 基于 epoll 实现一个最小化的IO库
Go 语言社区中存在多个异步网络框架,如 evio、nbio、gnet 和 netpoll 等。这些框架旨在解决标准库 netpoll 的低效问题,如一个连接占用一个 goroutine 导致的资源浪费。easyio 是一个最小化的 IO 框架,核心代码不超过 500 行,仅实现 Linux 下的 epoll 和 TCP 协议。它通过 Worker Pool、Buffer 等优化提高了性能,并提供了简单的事件处理机制。
125 0
|
12月前
|
JSON Go 开发者
go-carbon v2.5.0 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。
249 4
|
12月前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
581 0
|
1月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
119 1
|
3月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
273 1
|
3月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
341 0
|
3月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
221 0
|
3月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
196 0

热门文章

最新文章