🐀

TinyGoで即席godotenv

2025/03/06に公開

TinyGoでgodotenvを使うと、

open .env: file does not exist

というエラーが出てしまい、環境変数を読み込むことが出来ない。そんな時に即席で環境変数を読み込む方法。

.env
ID=your_id
PASSWORD=your_password
main.go
package main

import (
	_ "embed"
	"strings"
)

//go:embed .env
var env string

var (
	id       string
	password string
)

func init() {
	for line := range strings.FieldsSeq(env) {
		switch {
		case strings.HasPrefix(line, "ID="):
			id = strings.TrimPrefix(line, "ID=")
		case strings.HasPrefix(line, "PASSWORD="):
			password = strings.TrimPrefix(line, "PASSWORD=")
		}
	}
}

func main() {
	println("ID:", id)             // your_id
	println("PASSWORD:", password) // your_password
}

あとはSwitch文の中身をご自身の.envの内容に合わせて変更してください。

Discussion