日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一根短橫線在Golang和Python中的妙用

 一根不起眼的短橫線,在 Golang 和 Python 中,都能夠讓你不輸出某些不想要的字符。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的保山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

不輸出日期時(shí)間前面的0

我們?cè)谑褂?Python 輸出時(shí)間日期的時(shí)候,一般格式是這樣的:YYYY-mm-dd HH:MM:SS,例如:2021-03-22 09:10:12??梢钥吹?3和09前面都有一個(gè)0。這樣做的好處,是可以讓日期時(shí)間保持相同的長(zhǎng)度,于是就可以通過字符串的方式比較大小。

但有時(shí)候,因?yàn)槟承┰?,你可能確實(shí)不想補(bǔ)0,你就想輸出2021-3-22 9:10:12這種格式的時(shí)間。

但我們知道,在 Python 里面把日期時(shí)間格式化輸出,代碼如下:

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

在這個(gè)格式化符號(hào)里面,可以看到我們本身就使用的是一個(gè)字符,月份就是%m,難道還有另外一個(gè)符號(hào)用來表示不補(bǔ)0的日期?

實(shí)際上,不補(bǔ)0并不需要另外一個(gè)符號(hào)來表示,我們只需要在%和m之間加上一根短橫線就可以了:

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

運(yùn)行效果如下圖所示:

Golang 結(jié)構(gòu)體與 JSON 的互相轉(zhuǎn)換

在使用 Golang 的時(shí)候,我們有時(shí)候需要在結(jié)構(gòu)體和 JSON 字符串之間互相轉(zhuǎn)換。在轉(zhuǎn)換的工程中,可能會(huì)發(fā)現(xiàn)有些字段是多余的。我們不想讓 JSON中的某些字段轉(zhuǎn)到結(jié)構(gòu)體里面,或者不想讓結(jié)構(gòu)體里面的某些字段轉(zhuǎn)到 JSON 中去。

對(duì)于從 JSON 轉(zhuǎn)到結(jié)構(gòu)體,要忽略字段非常簡(jiǎn)單,例如有如下一個(gè) JSON 字符串:

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

在轉(zhuǎn)成結(jié)構(gòu)體的時(shí)候,我不想要handsome這個(gè)字段,于是可以這樣寫代碼:

 
 
 
 
  1. package main 
  2.  
  3. import ( 
  4.  "encoding/json" 
  5.  "fmt" 
  6.  
  7. type Info struct { 
  8.  Name    string `json:"name"` 
  9.  Salary  int64  `json:"salary"` 
  10.  Address string `json:"address"` 
  11.  
  12. func main() { 
  13.  jsonstr := `{"name": "kingname", "salary": 999999999, "address": "上海", "handsome": true}` 
  14.  var info Info 
  15.  err := json.Unmarshal([]byte(jsonstr), &info) 
  16.     if err != nil { 
  17.         panic(err) 
  18.     } 
  19.  fmt.Println(info) 

運(yùn)行效果如下圖所示:

但問題是,如果現(xiàn)在給你一個(gè)結(jié)構(gòu)體,但是轉(zhuǎn)成 JSON 的時(shí)候不想要其中一個(gè)字段,應(yīng)該怎么操作?可能有人會(huì)以為,在定義結(jié)果體的時(shí)候,不要加上json:"xxx"就可以了。但實(shí)際執(zhí)行的效果如下圖所示:

Golang 會(huì)直接使用這個(gè)字段在結(jié)構(gòu)體中的名字來轉(zhuǎn)成 JSON。

如果不想要這個(gè)字段,實(shí)際上有一個(gè)非常簡(jiǎn)單的辦法,就是在定義結(jié)構(gòu)體的時(shí)候,加上json:"-",例如:

 
 
 
 
  1. type Info struct { 
  2.  Name     string `json:"name"` 
  3.  Salary   int64  `json:"salary"` 
  4.  Address  string `json:"address"` 
  5.  Handsome bool   `json:"-"` 

運(yùn)行效果如下圖所示:

通過指定這個(gè)橫線,就能忽略這個(gè)字段了。

本文轉(zhuǎn)載自微信公眾號(hào)「未聞Code」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系未聞Code公眾號(hào)。


當(dāng)前標(biāo)題:一根短橫線在Golang和Python中的妙用
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/djieiih.html