Go Miscellaneous

Open-source Go projects categorized as Miscellaneous

Top 23 Go Miscellaneou Projects

Miscellaneous
  • go-formatter

    A curated list of awesome Go frameworks, libraries and software

    Project mention: Ask HN: What is the best way to learn Go? | news.ycombinator.com | 2024-09-28

    There’s no Go book that I personally would recommend without hesitation.

    Instead, I would suggest that you try to find a bunch of blog posts and lectures and read/watch them in order to get a feeling of the Go philosophy. The official Go blog has some good articles and otherwise I recommend to have a look at what Rob Pike and Russ Cox has written/presented.

    Then I believe that as soon as possible it’s a good idea to start some toy project so that you can dive in.

    I’m afraid I don’t have too many links to share. This might be a good starting point: https://www.youtube.com/watch?v=7VcArS4Wpqk

    Here’s a meta-resource that could be useful: https://github.com/avelino/awesome-go (see the Resources section at the end of the ToC).

    Best of luck!

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • wire

    Compile-time Dependency Injection for Go

    Project mention: @Autowired magic in SpringBoot | dev.to | 2024-06-16

    Here is, in my opinion, a much better approach to the problem: https://github.com/google/wire

  • gopsutil

    psutil for golang

  • gatus

    ⛑ Automated developer-oriented status page

  • afero

    A FileSystem Abstraction System for Go

  • fx

    A dependency injection based application framework for Go. (by uber-go)

    Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09

    I found fx(https://github.com/uber-go/fx) to be a super simple yet versatile tool to design my application around.

    All the advice in the article is still helpful, but it takes the "how do I make sure X is initialized when Y needs it" part completely out of the equation and reduces it from an N*M problem to an N problem, ie I only have to worry about how to initialize individual pieces, not about how to synchronize initialization between them.

    I've used quite a few dependency injection libraries in various languages over the years (and implemented a couple myself) and the simplicity and versatility of fx makes it my favorite so far.

  • go.uuid

    UUID package for Go

    Project mention: Writing UDF for Clickhouse using Golang | dev.to | 2024-02-27

    package main import ( "bufio" "encoding/binary" "encoding/hex" "fmt" "os" "strings" "time" ) func main() { scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanLines) for scanner.Scan() { id, _ := FromString(scanner.Text()) fmt.Println(id.Time()) } } func (me UUID) Nanoseconds() int64 { time_low := int64(binary.BigEndian.Uint32(me[0:4])) time_mid := int64(binary.BigEndian.Uint16(me[4:6])) time_hi := int64((binary.BigEndian.Uint16(me[6:8]) & 0x0fff)) return int64((((time_low) + (time_mid << 32) + (time_hi << 48)) - epochStart) * 100) } func (me UUID) Time() time.Time { nsec := me.Nanoseconds() return time.Unix(nsec/1e9, nsec%1e9).UTC() } // code below Copyright (C) 2013 by Maxim Bublis // see https://github.com/satori/go.uuid // Difference in 100-nanosecond intervals between // UUID epoch (October 15, 1582) and Unix epoch (January 1, 1970). const epochStart = 122192928000000000 // UUID representation compliant with specification // described in RFC 4122. type UUID [16]byte // FromString returns UUID parsed from string input. // Following formats are supported: // "6ba7b810-9dad-11d1-80b4-00c04fd430c8", // "{6ba7b810-9dad-11d1-80b4-00c04fd430c8}", // "urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8" func FromString(input string) (u UUID, err error) { s := strings.Replace(input, "-", "", -1) if len(s) == 41 && s[:9] == "urn:uuid:" { s = s[9:] } else if len(s) == 34 && s[0] == '{' && s[33] == '}' { s = s[1:33] } if len(s) != 32 { err = fmt.Errorf("uuid: invalid UUID string: %s", input) return } b := []byte(s) _, err = hex.Decode(u[:], b) return } // Returns canonical string representation of UUID: // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. func (u UUID) String() string { return fmt.Sprintf("%x-%x-%x-%x-%x", u[:4], u[4:6], u[6:8], u[8:10], u[10:]) }

  • gofakeit

    Random fake data generator written in go

    Project mention: I've made my first PR. | /r/cscareerquestions | 2023-11-03
  • archiver

    Easily create & extract archives, and compress & decompress files of various formats

  • dig

    A reflection based dependency injection toolkit for Go.

    Project mention: Dependency Injection: A Straightforward Implementation in Golang | dev.to | 2024-05-10

    Before we move into the implementation, we should know why we use this kind of thing? what is the purpose of implement dependency injection? So dependency injection helps to decouples components in a system by removing direct dependencies between them. making them more modular and easier to understand, maintainable, and testable. In simple explanation you do not have to do initialization of an instance everytime you need it, just take it from dependency injection, so your coding process will be straightforward. In this moment we will use Uber Dig to achive that.

  • service

    Starter-kit for writing services in Go using Kubernetes. (by ardanlabs)

  • jabba

    (cross-platform) Java Version Manager

  • go-multierror

    A Go (golang) package for representing a list of errors as a single error.

  • go-resiliency

    Resiliency patterns for golang

  • pagoda

    Rapid, easy full-stack web development starter kit in Go

    Project mention: Pagoda: Rapid, easy full-stack web development starter kit in Go | news.ycombinator.com | 2024-09-29
  • base64Captcha

    captcha of base64 image string

  • nunu

    A CLI tool for building Go applications.

    Project mention: Nunu: A CLI tool for building Go applications | news.ycombinator.com | 2024-04-03
  • do

    ⚙️ A dependency injection toolkit based on Go 1.18+ Generics.

    Project mention: Do: A dependency injection toolkit based on Go 1.18 Generics | news.ycombinator.com | 2024-07-24
  • modern-go-application

    Modern Go Application example

  • ghorg

    Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 🐇🥚

  • gosms

    :mailbox_closed: Your own local SMS gateway in Go

  • go-restful-api

    An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture

  • xstrings

    Implements string functions widely used in other languages but absent in Go.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Miscellaneous discussion

Log in or Post with

Go Miscellaneous related posts

Index

What are some of the best open-source Miscellaneou projects in Go? This list will help you:

Project Stars
1 go-formatter 130,233
2 wire 12,952
3 gopsutil 10,539
4 gatus 6,164
5 afero 5,932
6 fx 5,725
7 go.uuid 4,862
8 gofakeit 4,520
9 archiver 4,350
10 dig 3,889
11 service 3,563
12 jabba 2,992
13 go-multierror 2,324
14 go-resiliency 2,197
15 pagoda 2,134
16 base64Captcha 2,111
17 nunu 1,890
18 do 1,836
19 modern-go-application 1,828
20 ghorg 1,551
21 gosms 1,449
22 go-restful-api 1,412
23 xstrings 1,395

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com

Did you konow that Go is
the 4th most popular programming language
based on number of metions?