DEV Community

Christopher Konopka
Christopher Konopka

Posted on • Edited on

2 3

Configuring environmental variables for Go with ~/.bash_profile

Before sharing a project that uses credentials, it is important to show a user how to save their credentials within the bash_profile. The reasoning for this is security, and it makes variables globally accessible within the architecture. The example is specifically for OSX and Linux.

Open the ~/.bash_profile using your favorite text editor using Terminal.

nano ~/.bash_profile
Enter fullscreen mode Exit fullscreen mode

Create a new variable and export it. Save and exit.

export API_KEY="KEY"
export API_SECRET="SECRET"
Enter fullscreen mode Exit fullscreen mode

Reload the variables using source.

source ~/.bash_profile
Enter fullscreen mode Exit fullscreen mode

Create a new Go program and name it main.js. Add the fmt and os libraries.

package main

import(
  "fmt"
  "os"
)

func main(){
    // ... code here
}
Enter fullscreen mode Exit fullscreen mode

Use the os library's Getenv function to retrieve the environmental variable and print them out.

APIkey := os.Getenv("API_KEY")
APIsecret := os.Getenv("API_SECRET")
Enter fullscreen mode Exit fullscreen mode

Print out the APIkey and APIsecret using fmt.

fmt.Println(APIkey, APIsecret)
Enter fullscreen mode Exit fullscreen mode

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post →

Top comments (1)

Collapse
 
arham_abiyan profile image
Arham Awal Abiyan • Edited

Hello, I think you made a mistake about the file name here

Create a new Go program and name it main.js. Add the fmt and os libraries.

it should be main.go

very helpful post btw, thanks

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more