go omitempty 忽略型別

2021-09-07 20:46:11 字數 835 閱讀 4379

nil

false

每個結構欄位的編碼可以通過結構字段標籤中「json」鍵下儲存的格式字串來定製。格式字串給出欄位的名稱,可能後跟逗號分隔的選項列表。名稱可能為空,以指定選項而不覆蓋預設欄位名稱。

「omitempty」選項指定如果字段具有空值,定義為false,0,零指標,nil介面值以及任何空陣列,切片,對映或字串,則該字段應從編碼中省略。

作為特殊情況,如果字段標籤是「 - 」,則該字段總是被省略。請注意,名稱為「 - 」的字段仍然可以使用標籤「 - ,」生成。

package main

import (

"encoding/json"

"fmt"

)type person struct

func main()

data, err := json.marshal(p1)

if err != nil

fmt.printf("%s\n", data)

fmt.println(p1.name, p1.age, p1.addr)

p2 := person

data2, err := json.marshal(p2)

if err != nil

fmt.printf("%s\n", data2)

fmt.println(p2.name, p2.age, p2.addr)

}結果:

taoge 30

cang laoshi 18 japan

可以看到,有了omitempty後,如果addr為空, 則生成的json中沒有addr欄位。

---------------------

git忽略檔案型別

以斜槓 開頭或結尾表示目錄 bin 忽略當前目錄及下級目錄下的bin資料夾 bin 只忽略當前目錄下的bin目錄及所有內容 以星號 通配多個字元 以問號 通配單個字元 以方括號 包含單個字元的匹配列表 以嘆號 表示不忽略 跟蹤 匹配到的檔案或目錄。注意 git 對於 gitignore配置檔案是按行...

常被忽略的資料型別Function

as3中function是乙個關鍵字,常用來宣告乙個函式,但它也是as3的一種資料型別,就像int,number等,它也能用來定義變數。下面記錄一下作為資料型別定義變數時的用法。下面的 需寫在時間軸上 this function a number,b number number this funct...

python 忽略錯誤 python如何忽略異常

python一般使用try except 處理異常。try 可能會出現異常的 放在try下 code1 如果try內部任意一行 出現異常,直接跳轉至except,執行except下 code2 except code3 code4 此方法只要有乙個異常,程式就不繼續執行了。當迴圈 現異常時,如何跳過...