切片去重/刪除指定切片/返回當(dāng)天零點(diǎn)/創(chuàng)建文件夾: 繼續(xù)記錄封裝的常用工具

  • 慢慢記錄, 慢慢增加; 歡迎分享添加0.0
/*
 * @Description:常用工具
 * @Author: Casso-Wong
 */

package tool

import (
    "fmt"
    "os"
    "time"
)

// ParseSlicess 字符串切片去重
func ParseSlicess(slc []string) []string {
    var res []string
    temMap := make(map[string]bool, len(slc))
    for _, v := range slc {
        if temMap[v] == false {
            temMap[v] = true
            res = append(res, v)
        }
    }
    return res
}

// DeledeSlice 根據(jù)傳入string刪除相同的切片元素: 我的應(yīng)用場(chǎng)景是知道切片中必然有且僅有一個(gè)相同的元素,想刪掉
func DeledeSlice(slc []string, target string) []string {
    var index = 0
    for i, v := range slc {
        if v == target {
            index = i
            break
        }
    }
    // ["aa","bb","cc"]  例: index = 2  則: 會(huì)超出下標(biāo)界限
    if index == len(slc)-1 && len(slc) != 0 { // 刪除最后一項(xiàng)
        slc = slc[:index] // 左包含,右不包含
    } else {
        slc = append(slc[:index], slc[index+1:]...) // 左包含,右不包含
    }
    return slc
}

// StartToday 返回當(dāng)天零點(diǎn)
func StartToday() time.Time {
    t := time.Now()
    tm1 := time.Date(t.Year(), t.Month(), t.Day()-1, 0, 0, 0, 0, t.Location())
    tm2 := tm1.AddDate(0, 0, 1)
    return tm2
}

//PathExists 判斷文件夾是否存在 不存在則創(chuàng)建
func PathExists(path string) (bool, error) {
    _, err := os.Stat(path)
    if err == nil {
        return true, nil
    }
    if os.IsNotExist(err) {
        // 創(chuàng)建文件夾
        err := os.MkdirAll(path, os.ModePerm)
        if err != nil {
            fmt.Printf("mkdir failed![%v]\n", err)
        } else {
            return true, nil
        }
    }
    return false, err
}

// TurnToSlice 將切片轉(zhuǎn)為特定字符串隔開的字符串(為了存入數(shù)據(jù)庫(kù)..我也是福了)
func TurnToSlice(s []string, slc string) (res string) { // 效果類似 : 1,2,3,4  || 1:2:3:4
    for i, v := range s {
        if i != len(s)-1 {
            res += v + slc
        } else {
            res += v
        }
    }
    return
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,674評(píng)論 1 32
  • 要做的工作太多,腦中亂成一團(tuán),無(wú)法集中精力干好眼前的工作。 雖然制定了工作計(jì)劃,但從沒(méi)能按計(jì)劃完成過(guò)工作辦公桌上亂...
    i木槿閱讀 654評(píng)論 0 0
  • 夜鶯2517閱讀 128,185評(píng)論 1 9
  • 版本:ios 1.2.1 亮點(diǎn): 1.app角標(biāo)可以實(shí)時(shí)更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 7,475評(píng)論 1 6
  • 我是一名過(guò)去式的高三狗,很可悲,在這三年里我沒(méi)有戀愛,看著同齡的小伙伴們一對(duì)兒一對(duì)兒的,我的心不好受。怎么說(shuō)呢,高...
    小娘紙閱讀 3,843評(píng)論 4 7

友情鏈接更多精彩內(nèi)容