Do I understand this correct? Project structure & design in GO

This page summarizes the projects mentioned and recommended in the original post on /r/golang

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • golang-standards/project-layout

    Standard Go Project Layout

  • I agree simple is best. Unfortunately, there isn't really a convention for file system layout for importable packages in a repository (hence why this kind of question comes up somewhat frequently). I've come to like the top level pkg directory to keep the root of the repository cleaner and to make it more clear that Go code lives there instead of other artifacts an application may have (i.e. static resources, a hack directory, etc). It may be controversial, but our team decided to adopt the suggestion provided by https://github.com/golang-standards/project-layout and it's worked very well for us over the years as projects grew.

  • go

    The Go programming language

  • You can still use internal. Idiomatic Go says that internal would be created under the parent package. net/http provides an example of this. There are some helper functions used by the http package that have been given their own packages and they live under internal. This communicates to the reader that the helpers exist only as an implementation detail required to implement the http package.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • I'm coming from Java and I have been told that I'm writing go like I'm writing Java. Basically creating structs, injecting fields, and attaching methods. What else can I do?

    2 projects | /r/golang | 7 Dec 2023
  • Why no src directory?

    3 projects | /r/golang | 31 May 2023
  • Why does my import have a custom name?

    2 projects | /r/golang | 13 Mar 2023
  • How to write Go

    2 projects | dev.to | 17 Feb 2023
  • Clean architecture/ best practices in Go?

    4 projects | /r/golang | 8 Mar 2022