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() 返回使用使用的命令行参数个数


相关文章
|
4天前
|
数据采集 存储 Go
使用Go语言和chromedp库下载Instagram图片:简易指南
Go语言爬虫示例使用chromedp库下载Instagram图片,关键步骤包括设置代理IP、创建带代理的浏览器上下文及执行任务,如导航至用户页面、截图并存储图片。代码中新增`analyzeAndStoreImage`函数对图片进行分析和分类后存储。注意Instagram的反爬策略可能需要代码适时调整。
使用Go语言和chromedp库下载Instagram图片:简易指南
|
4天前
|
SQL 开发框架 .NET
你确定不学?Go标准库之 text/template
你确定不学?Go标准库之 text/template
10 2
|
4天前
|
运维 监控 Go
Golang深入浅出之-Go语言中的日志记录:log与logrus库
【4月更文挑战第27天】本文比较了Go语言中标准库`log`与第三方库`logrus`的日志功能。`log`简单但不支持日志级别配置和多样化格式,而`logrus`提供更丰富的功能,如日志级别控制、自定义格式和钩子。文章指出了使用`logrus`时可能遇到的问题,如全局logger滥用、日志级别设置不当和过度依赖字段,并给出了避免错误的建议,强调理解日志级别、合理利用结构化日志、模块化日志管理和定期审查日志配置的重要性。通过这些实践,开发者能提高应用监控和故障排查能力。
89 1
|
4天前
|
安全 Go
Golang深入浅出之-Go语言标准库中的文件读写:io/ioutil包
【4月更文挑战第27天】Go语言的`io/ioutil`包提供简单文件读写,适合小文件操作。本文聚焦`ReadFile`和`WriteFile`函数,讨论错误处理、文件权限、大文件处理和编码问题。避免错误的关键在于检查错误、设置合适权限、采用流式读写及处理编码。遵循这些最佳实践能提升代码稳定性。
24 0
|
4天前
|
NoSQL Shell Go
在go中简单使用go-redis库
在go中简单使用go-redis库
|
4天前
|
安全 Unix Go
Golang深入浅出之-Go语言中的时间与日期处理:time包详解
【4月更文挑战第26天】Go语言的`time`包提供处理日期和时间的功能,包括`time.Time`类型、时间戳、格式化与解析。本文讨论了核心概念、常见问题(如时区处理、格式字符串混淆、超时控制和并发安全)及解决方法。推荐使用`time.LoadLocation`管理时区,熟悉时间格式规则,用`context`精确控制超时,并注意并发安全。文中通过代码示例展示了如何获取格式化时间、计算时间差以及创建定时任务。学习和应用这些知识可提高程序的健壮性和准确性。
30 2
|
4天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
29 1
|
Go
golang flag简单用法
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.
1093 0
|
2天前
|
Ubuntu Unix Linux
【GO基础】1. Go语言环境搭建
【GO基础】1. Go语言环境搭建
|
3天前
|
JSON 前端开发 Go
lucky - go 语言实现的快速开发平台
go 语言实现的快速开发平台,自动生成crud代码,前端页面通过json配置,无需编写前端代码。
9 0