一根短横线在Golang和Python中有什么作用

发布时间:2021-10-15 13:49:56 作者:iii
来源:亿速云 阅读:169

这篇文章主要讲解了“一根短横线在Golang和Python中有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“一根短横线在Golang和Python中有什么作用”吧!

不输出日期时间前面的0

我们在使用 Python 输出时间日期的时候,一般格式是这样的:YYYY-mm-dd HH:MM:SS,例如:2021-03-22  09:10:12。可以看到03和09前面都有一个0。这样做的好处,是可以让日期时间保持相同的长度,于是就可以通过字符串的方式比较大小。

但有时候,因为某些原因,你可能确实不想补0,你就想输出2021-3-22 9:10:12这种格式的时间。

但我们知道,在 Python 里面把日期时间格式化输出,代码如下:

import datetime  now = datetime.datetime.now() dt_str = now.strftime('%Y-%m-%d %H:%M:%S')

在这个格式化符号里面,可以看到我们本身就使用的是一个字符,月份就是%m,难道还有另外一个符号用来表示不补0的日期?

实际上,不补0并不需要另外一个符号来表示,我们只需要在%和m之间加上一根短横线就可以了:

import datetime  now = datetime.datetime.now() dt_str = now.strftime('%Y-%-m-%-d %-H:%-M:%-S') print(dt_str)

运行效果如下图所示:

一根短横线在Golang和Python中有什么作用

Golang 结构体与 JSON 的互相转换

在使用 Golang 的时候,我们有时候需要在结构体和 JSON 字符串之间互相转换。在转换的工程中,可能会发现有些字段是多余的。我们不想让  JSON中的某些字段转到结构体里面,或者不想让结构体里面的某些字段转到 JSON 中去。

对于从 JSON 转到结构体,要忽略字段非常简单,例如有如下一个 JSON 字符串:

{"name": "kingname", "salary": 999999999, "address": "上海", "handsome": true}

在转成结构体的时候,我不想要handsome这个字段,于是可以这样写代码:

package main  import (  "encoding/json"  "fmt" )  type Info struct {  Name    string `json:"name"`  Salary  int64  `json:"salary"`  Address string `json:"address"` }  func main() {  jsonstr := `{"name": "kingname", "salary": 999999999, "address": "上海", "handsome": true}`  var info Info  err := json.Unmarshal([]byte(jsonstr), &info)     if err != nil {         panic(err)     }  fmt.Println(info) }

运行效果如下图所示:

一根短横线在Golang和Python中有什么作用

但问题是,如果现在给你一个结构体,但是转成 JSON  的时候不想要其中一个字段,应该怎么操作?可能有人会以为,在定义结果体的时候,不要加上json:"xxx"就可以了。但实际执行的效果如下图所示:

一根短横线在Golang和Python中有什么作用

Golang 会直接使用这个字段在结构体中的名字来转成 JSON。

如果不想要这个字段,实际上有一个非常简单的办法,就是在定义结构体的时候,加上json:"-",例如:

type Info struct {  Name     string `json:"name"`  Salary   int64  `json:"salary"`  Address  string `json:"address"`  Handsome bool   `json:"-"` }

运行效果如下图所示:

一根短横线在Golang和Python中有什么作用

通过指定这个横线,就能忽略这个字段了。

感谢各位的阅读,以上就是“一根短横线在Golang和Python中有什么作用”的内容了,经过本文的学习后,相信大家对一根短横线在Golang和Python中有什么作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. list在python中有什么作用
  2. global和nonlocal在Python中有什么区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

golang python

上一篇:Java中过滤器模式有什么用

下一篇:Java中包含什么运算符

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》