kit/goutil - Go에 유용한 utils 패키지

gookit/goutil 💪 Go에 유용한 utils 패키지: int, 문자열, 배열/슬라이스, 맵, 오류, 시간, 형식, CLI, ENV, 파일 시스템, 시스템, 테스트 등.

하위 패키지


  • arrutil : 어레이/슬라이스 유틸리티 함수. 예: 확인, 변환, 서식 지정
  • dump : 간단한 가변 인쇄 도구, 인쇄 슬라이스, 맵이 각 요소를 자동으로 감싸고 호출 위치를 표시함
  • cliutil 명령줄 유틸리티 함수. 예: 입력 읽기, exec 명령, cmdline 구문 분석/빌드
  • errorx 이동, 스택 추적 허용, 다른 오류 래핑을 위한 향상된 오류 구현을 제공합니다.
  • envutil 현재 런타임 환경 정보에 대한 ENV 유틸리티입니다. 예: 가져오기, 정보 가져오기, var 구문 분석
  • fmtutil 데이터 유틸리티 함수를 포맷합니다. 예: 데이터, 크기
  • fsutil 파일 시스템 유틸리티 기능, 빠른 생성, 파일 읽기 및 쓰기. 예: 파일 및 디렉터리 확인, 작동
  • jsonutil JSON 데이터의 빠른 읽기, 쓰기, 인코딩, 디코딩을 위한 일부 util 함수.
  • maputil 데이터 유틸리티 함수를 매핑합니다. 예: 변환, 하위 값 가져오기, 단순 병합
  • mathutil Math(int, number) 유틸리티 함수. 예: 변환, 수학 계산, 무작위
  • netutil 네트워크 유틸리티 기능
  • netutil/httpreq http.Client를 래핑하는 사용하기 쉬운 HTTP 클라이언트

  • strutil 문자열 유틸리티 함수. 예: 바이트, 확인, 변환, 인코딩, 형식 등
  • sysutil 시스템 유틸리티 기능. 예: sysenv, exec, 사용자, 프로세스
  • testutil 도움말 유틸리티 기능을 테스트합니다. 예: http 테스트, 모의 ENV 값
  • timex 향상된 time.Time 구현을 제공합니다. 일반적으로 사용되는 함수형 메서드 추가
  • : DayStart(), DayAfter(), DayAgo(), DateFormat() 등.


  • Git 저장소


  • Github: https://github.com/gookit/goutil
  • 지티: https://gitee.com/gookit/goutil

  • 설치




    go get github.com/gookit/goutil
    


    용법



    goutil/덤프


    goutil/dump는 아름답고 읽기 쉬운 go 슬라이스, 맵, 구조체 데이터를 인쇄하는 golang 데이터 인쇄 툴킷입니다.



    //  go run ./dump/_examples/struct.go
    func main() {
        s1 := &struct {
            cannotExport map[string]interface{}
        }{
            cannotExport: map[string]interface{}{
                "key1": 12,
                "key2": "abcd123",
            },
        }
    
        s2 := struct {
            ab string
            Cd int
        }{
            "ab", 23,
        }
    
        color.Infoln("- Use fmt.Println:")
        fmt.Println(s1, s2)
    
        color.Infoln("\n- Use dump.Println:")
        dump.P(s1,s2)
    }
    


    산출:



    goutil/timex


    goutil/timex 향상된 time.Time 구현을 제공하고 더 일반적으로 사용되는 함수 메서드를 추가합니다.

    예: DayStart(), DayAfter(), DayAgo(), DateFormat() 등

    timex 인스턴스 생성:

    now := timex.Now()
    
    // from time.Time
    tx := timex.New(time.Now())
    tx := timex.FromTime(time.Now())
    
    // from time unix
    tx := timex.FromUnix(1647411580)
    


    날짜 문자열에 대한 시간 생성:

    // auto match layout by datetime
    tx, err  := timex.FromString("2022-04-20 19:40:34")
    // custom set the datetime layout
    tx, err  := timex.FromString("2022-04-20 19:40:34", "2006-01-02 15:04:05")
    // use date template as layout
    tx, err  := timex.FromDate("2022-04-20 19:40:34", "Y-m-d H:I:S")
    


    신속하게 시간 가져오기:

    tx := timex.Now()
    
    tx.Yesterday()
    tx.Tomorrow()
    
    tx.DayStart() // get time at Y-m-d 00:00:00
    tx.DayEnd() // get time at Y-m-d 23:59:59
    tx.HourStart() // get time at Y-m-d H:00:00
    tx.HourEnd() // get time at Y-m-d H:59:59
    
    tx.AddDay(2)
    tx.AddHour(1)
    tx.AddMinutes(15)
    tx.AddSeconds(120)
    


    빠른 형식 날짜:

    tx.DateFormat("y/m/d H:I")
    date := tx.DateFormat("Y-m-d H:I:S") // Output: 2022-04-20 19:40:34
    date = tx.DateFormat("y-m-d H:I:S") // Output: 22-04-20 19:40:34
    


    더 많은 사용량



    More utils and usage please see README https://github.com/gookit/goutil/blob/master/README.md

    좋은 웹페이지 즐겨찾기