<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ~~~ package toolutilv3 import ( "fmt" "reflect" "testing" ) // AppendHead 向切片頭部追加元素 func TestAppendHead(t *testing.T) { slice := []interface{}{1.23, 2, 3.45, 4.56} result := ToolSlice.AppendHead(slice, 1.1) fmt.Printf("len: %d, cap: %d \r\n", len(result), cap(result)) fmt.Println(result) } // ChangeInterfaceToSlice 將 []interface{} 類型的切片轉換成指定類型的切片 func TestChangeInterfaceToSlice(t *testing.T) { slice := []interface{}{1.23, 2, 3.45, 4.56} elementType := reflect.TypeOf(float64(0)) result := ToolSlice.ChangeInterfaceToSlice(slice, elementType) fmt.Println(result) } // ChangeSliceToInterface 將任意切片類型的切片 轉換為 []interface{} 類型 func TestChangeSliceToInterface(t *testing.T) { slice := []float64{1.23, 2, 3.45, 4.56} result := ToolSlice.ChangeSliceToInterface(slice) fmt.Println(result) } // Contains 方法可以檢查給定的切片中是否存在某個元素 func TestContains(t *testing.T) { result := ToolSlice.Contains([]int{1, 2, 3}, 1) fmt.Println(result) } // ConvertSliceToMap 將結構體切片轉出[]map[string]interface{} func TestConvertSliceToMap(t *testing.T) { type Data struct { Field1 int Field2 string } data := make([]Data, 0, 3) data = append(data, Data{1, "A"}) data = append(data, Data{2, "B"}) data = append(data, Data{3, "C"}) result := ToolSlice.ConvertSliceToMap(data) fmt.Println(result) } // FindDiffVales 找到兩個切片中不同的元素,返回兩個切片中不同元素組成的切片 func TestFindDiffVales(t *testing.T) { slice1 := []int{1, 3, 5, 7, 9} slice2 := []int{2, 3, 4, 5, 6} result := ToolSlice.FindDiffVales( ToolSlice.ChangeSliceToInterface(slice1), ToolSlice.ChangeSliceToInterface(slice2), ) fmt.Println(result) } // FindSameVales 找到兩個切片中同同的元素,返回兩個切片中相同同元素組成的切片 func TestFindSameVales(t *testing.T) { slice1 := []int{1, 3, 5, 7, 9} slice2 := []int{2, 3, 4, 5, 6} result := ToolSlice.FindSameVales( ToolSlice.ChangeSliceToInterface(slice1), ToolSlice.ChangeSliceToInterface(slice2), ) fmt.Println(result) } // FindOutVales 從slice1里剔除slice2存在的值 func TestFindOutVales(t *testing.T) { slice1 := []int{1, 3, 5, 7, 9} slice2 := []int{2, 3, 4, 5, 6} result := ToolSlice.FindOutVales( ToolSlice.ChangeSliceToInterface(slice1), ToolSlice.ChangeSliceToInterface(slice2), ) fmt.Println(result) } // GroupByKey 將[]map[string]interface{}按某個字段分組 func TestGroupByKey(t *testing.T) { data := []map[string]interface{}{ {"name": "Alice", "age": 19, "gender": "female"}, {"name": "Bob", "age": 22, "gender": "male"}, {"name": "Charlie", "age": 25, "gender": "male"}, {"name": "David", "age": 21, "gender": "male"}, {"name": "Eve", "age": 20, "gender": "female"}, } result := ToolSlice.GroupByKey(data, "gender", "people") fmt.Println(result) } // MapListKeyToIntSlice 函數從輸入的 []map[string]interface{} 類型的切片中提取指定 key 對應的 int 類型數值,并返回一個 []int 類型的切片。 func TestMapListKeyToIntSlice(t *testing.T) { data := []map[string]interface{}{ {"name": "Alice", "age": 19}, {"name": "Bob", "age": 22}, {"name": "Charlie", "age": 25}, {"name": "David", "age": 21}, {"name": "Eve", "age": 20}, } result := ToolSlice.MapListKeyToIntSlice(data, "age") fmt.Println(result) } // UniqueInterface 函數用于合并多個任意類型的切片并去重 func TestUniqueInterface(t *testing.T) { slice1 := ToolSlice.ChangeSliceToInterface([]int{1, 3, 3, 5, 7, 9}) result1 := ToolSlice.UniqueInterface(slice1) slice2 := ToolSlice.ChangeSliceToInterface([]int{2, 4, 5}) result2 := ToolSlice.UniqueInterface(slice1, slice2) fmt.Println(result1, result2) } // SetNilToDefaultValueByMap 字典中所有鍵名在 keys 數組中出現過且對應的鍵值為 nil 的元素改為默認值 defaultValue func TestSetNilToDefaultValueByMap(t *testing.T) { m := map[string]interface{}{ "name": "張三", "age": nil, "gender": "male", } ToolSlice.SetNilToDefaultValueByMap(m, []string{"age"}, "[]") fmt.Println(m) } // SetNilToDefaultValueByMapV2 處理nil值,出現在keys的nil設置成[], 其余的nil設置成"" func TestSetNilToDefaultValueByMapV2(t *testing.T) { m := map[string]interface{}{ "name": "張三", "age1": nil, "age2": nil, "gender": "male", } ToolSlice.SetNilToDefaultValueByMapV2(m, []string{"age1"}) fmt.Println(m) } // SetNilToDefaultValueBySlice 切片中所有鍵名在 keys 數組中出現過且對應的鍵值為 nil 的元素改為默認值 defaultValue func TestSetNilToDefaultValueBySlice(t *testing.T) { slice := []map[string]interface{}{ {"name": "張三", "age": 20, "gender": "male"}, {"name": "李四", "age": nil, "gender": "female"}, {"name": "王五", "age": 22, "gender": nil}, } ToolSlice.SetNilToDefaultValueBySlice(slice, []string{"age", "gender"}, "") fmt.Println(slice) } // SetNilToDefaultValueBySliceV2 處理nil值,出現在keys的nil設置成[], 其余的nil設置成"" func TestSetNilToDefaultValueBySliceV2(t *testing.T) { slice := []map[string]interface{}{ {"name": "張三", "age": 20, "other": []interface{}{"一", "二"}}, {"name": nil, "age": 19, "other": []interface{}{"一", "二"}}, {"name": nil, "age": 22, "other": nil}, } ToolSlice.SetNilToDefaultValueBySliceV2(slice, []string{"other"}) fmt.Println(slice) } // SortByKey 函數按照指定的 key 對應的值,對輸入的 []map[string]interface{} 類型的切片進行排序。 func TestSortByKey(t *testing.T) { data := []map[string]interface{}{ {"name": "Alice", "pp": 10.001}, {"name": "Bob", "pp": 55.004}, {"name": "Charlie", "pp": 10.004}, {"name": "David", "pp": 55.003}, {"name": "Eve", "pp": 55.002}, } ToolSlice.SortByKey(data, "pp", true) fmt.Println(data) ToolSlice.SortByKey(data, "pp", false) fmt.Println(data) } // StringToSlice 將字符串解析為切片類型 func TestStringToSlice(t *testing.T) { data := "[\"張三\",\"李四\",\"王五\",\"趙六\"]" result := ToolSlice.StringToSlice(data, reflect.TypeOf("")) fmt.Println(result) } // StringToSliceInt 將字符串解析為Int切片類型 func TestStringToSliceInt(t *testing.T) { data := "[9,5,3,7]" result := ToolSlice.StringToSliceInt(data) fmt.Println(result) } // StringToMap 將字符串解析為字典類型 func TestStringToMap(t *testing.T) { data := "{\"name\":\"張三\",\"age\":18}" result := ToolSlice.StringToMap(data) fmt.Println(result) } // StringToMapSlice 將字符串解析為切片類型 func TestStringToMapSlice(t *testing.T) { data := "[{\"name\":\"張三\",\"age\":18},{\"name\":\"李四\",\"age\":19},{\"name\":\"王五\",\"age\":20}]" result := ToolSlice.StringToMapSlice(data) fmt.Println(result) } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看