anyx - Interface{} 助手
概述
anyx 模組提供對 interface{} 值的類型安全操作,具有訪問和轉換資料的便捷方法。它包裝 sync.Map 以實現線程安全操作。
核心類型
MapAny
具有類型安全訪問器的線程安全映射。
建構函數
NewMap()
從映射建立新的 MapAny。
示例:
NewMapWithJson()
從 JSON 位元組建立新的 MapAny。
示例:
NewMapWithYaml()
從 YAML 位元組建立新的 MapAny。
示例:
NewMapWithAny()
從任何值建立新的 MapAny。
示例:
配置方法
EnableCut()
啟用帶分隔符的嵌套鍵訪問。
參數:
seq- 分隔符字串(例如 "."、"/")
返回值:
- MapAny 實例用於鏈式調用
示例:
DisableCut()
禁用嵌套鍵訪問。
示例:
基本操作
Set()
設置鍵值對。
示例:
Get()
按鍵獲取值。
返回值:
- 如果鍵存在,返回值
- 如果鍵不存在,返回
ErrNotFound
示例:
Exists()
檢查鍵是否存在。
示例:
類型安全獲取器
GetBool()
獲取布林值。
示例:
GetInt()
獲取 int 值。
示例:
GetInt32(), GetInt64()
獲取 int32 或 int64 值。
GetUint16(), GetUint32(), GetUint64()
獲取無符號整數值。
GetFloat64()
獲取 float64 值。
示例:
GetString()
獲取字串值。
示例:
GetBytes()
獲取 []byte 值。
GetMap()
獲取嵌套的 MapAny。
示例:
GetSlice()
獲取 []interface{} 值。
示例:
GetStringSlice()
獲取 []string 值。
示例:
GetInt64Slice()
獲取 []int64 值。
GetUint32Slice()
獲取 []uint32 值。
GetUint64Slice()
獲取 []uint64 值。
轉換方法
ToMap()
轉換為標準 map[string]interface{}。
示例:
ToSyncMap()
轉換為 *sync.Map。
Clone()
建立 MapAny 的副本。
示例:
迭代
Range()
遍歷所有鍵值對。
示例: