Skip to content

Instantly share code, notes, and snippets.

@ayoubzulfiqar
Created March 22, 2025 05:07
Show Gist options
  • Save ayoubzulfiqar/542ae0ffac2ba1be8ffab7eaf3b42492 to your computer and use it in GitHub Desktop.
Save ayoubzulfiqar/542ae0ffac2ba1be8ffab7eaf3b42492 to your computer and use it in GitHub Desktop.
READ ENV - without any package

Read ENV

Golang

func loadEnv() error {
	file, err := os.Open(".env")
	if err != nil {
		fmt.Println("FileError:", err)
		return err
	}
	defer file.Close()

	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		line := scanner.Text()
		if strings.TrimSpace(line) == "" || strings.HasPrefix(line, "#") {
			continue // Skip empty lines and comments
		}

		parts := strings.SplitN(line, "=", 2)
		if len(parts) != 2 {
			continue // Skip malformed lines
		}

		key := strings.TrimSpace(parts[0])
		value := strings.TrimSpace(parts[1])
		os.Setenv(key, value)
	}

	return scanner.Err()

}

func ReadEnv(env string) string {
	err := loadEnv()
	if err != nil {
		log.Fatal("Error loading .env file:", err)
	}
	envString := os.Getenv(env)
	return envString
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment