godotenv
viper
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
godotenv
-
Building a Google Drive Downloader in Golang (Part 1)
Create a .env file in root or handle environment variables however you like, we'll use joho/godotenv package.
-
Creating a Bot for Bluesky Social
err := godotenv.Load(): We use the godotenv package to be able to access the variables of the .env locally.
-
Authentication with Golang and AWS Cognito
First we will load our envs with the godotenv package, then we start our cognito client, passing the COGNITO_CLIENT_ID, which we got earlier, then we start gin and create a server, that's enough.
-
Autenticação com Golang e AWS Cognito
Primeiro vamos carregar nossas envs com o pacote godotenv, depois iniciamos nosso cognito client, passando o COGNITO_CLIENT_ID, que pegamos anteriormente, depois iniciamos o gin e criamos um server, isso é o suficiente.
-
Tools besides Go for a newbie
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
-
Reading Environment Variable from a .env file on a Server
In his code it is done using https://github.com/joho/godotenv
- Libraries you use most of your projects?
-
Restful API with Golang practical approach
envconfig: Library for managing configuration data from environment variables (https://github.com/joho/godotenv)
-
Is this clear why its useful?
There is already a more complete, safer and neatly written godotenv alternative. It may be taken as an educational inspiration for next attempts.
-
I need some help setting up variables for the sake of my sanity
Chances are you are going to set them in you real server, and most likely you will going to use Linux for that. So for local development create a .env file with those in there. And at the start of you program, load them. You can use https://github.com/joho/godotenv Don’t share that file of course, and don’t put it in git.
viper
-
Show HN: CREV – A Go-based CLI tool for AI code reviews and codebase exports
- Terminal-Based Workflow: CREV is a CLI tool, removing the need to switch between your editor and the browser.
I have written the CREV CLI tool in Go as I was interested in learning the language and I heard many good things about it’s efficiency and speed. I used https://github.com/spf13/cobra to manage the CLI commands and [Viper](https://github.com/spf13/viper) for handling configurations. This is the first project I have done with Go but I find the language interesting and the Go routines also help with reading in your entire codebase. For the code reviews themselves I use google cloud functions which invoke GPT-4o (am also planning to add Claude 3.5 and GPT-o1).
I’d love to hear your feedback—whether it’s ideas for new features or reasons why you believe this tool is useful or useless to you. I am using it daily so it at least solved my own problem :)
-
Building a RESTful API with Go Fiber: An Express-Inspired Boilerplate
Environment variables: using Viper
-
Upload and Delete file from Amazon S3 Bucket in Go using Presigned URLs
Once environment variables are setup we need load them into our project. For this this i will use viper
-
Proxy Server in Go
The code uses Viper to load configuration files in the application.
- API completa em Golang - Parte 2
-
What 3rd-party libraries do you use often/all the time?
github.com/spf13/viper
- API completa em Golang - Parte 1
-
Building RESTful API with Hexagonal Architecture in Go
Instead of directly accessing environment variables with os.Getenv(), integrating a configuration handler like viper might make it maintainable.
-
What is the most common approach to configure a backend app?
I guess most people are using https://github.com/spf13/viper but I don't know if I should read everything from
-
Could I get a code review?
Use Viper for config file or environmental variable configuration -- it's going to save you a whole lot of time.
What are some alternatives?
gotenv - Load environment variables from `.env` or `io.Reader` in Go.
koanf - Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
structs - Golang struct operations.
envconfig - Small library to read your configuration from environment variables
delve - Delve is a debugger for the Go programming language.
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
xferspdy - Xferspdy provides binary diff and patch library in golang. [Mentioned in Awesome Go, https://github.com/avelino/awesome-go]
kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
fzf - :cherry_blossom: A command-line fuzzy finder
ini - Package ini provides INI file read and write functionality in Go
util - A collection of useful utility functions
mapstructure - Go library for decoding generic map values into native Go structures and vice versa.