Skip to content

Commit aa8426d

Browse files
authored
Merge pull request #759 from devlights/add-os-env-example
2 parents 60cf608 + ccf8cc2 commit aa8426d

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

examples/basic/osop/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
| listprocess.go | osop_list_processes | プロセスリストを取得するサンプルです. |
99
| environ.go | osop_environ | os.Environ()のサンプルです。 |
1010
| getenv.go | osop_getenv | os.GetEnv() のサンプルです。 |
11+
| lookupenv.go | osop_lookupenv | os.LookupEnv() のサンプルです。 |

examples/basic/osop/examples.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ func (r *register) Regist(m mapping.ExampleMapping) {
1717
m["osop_list_processes"] = ListProcesses
1818
m["osop_environ"] = Environ
1919
m["osop_getenv"] = GetEnv
20+
m["osop_lookupenv"] = LookupEnv
2021
}

examples/basic/osop/lookupenv.go

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package osop
2+
3+
import (
4+
"os"
5+
6+
"github.com/devlights/gomy/output"
7+
)
8+
9+
// LookupEnv は、os.LookupEnv() のサンプルです。
10+
//
11+
// LookupEnv は、キーで指定された環境変数の値を取得します。
12+
// その変数が環境に存在する場合、その値 (空でもよい) が返され、ブール値は true になります。
13+
// そうでない場合は、返される値は空で、ブール値は false になります。
14+
//
15+
// # REFERENCES
16+
//
17+
// - https://pkg.go.dev/os@go1.22.0#LookupEnv
18+
func LookupEnv() error {
19+
const (
20+
ENV1 = "HOSTNAME"
21+
ENV2 = "SONZAISHINAIKEY"
22+
)
23+
24+
var (
25+
v string
26+
ok bool
27+
p = func(prefix string, v string, ok bool) {
28+
if ok {
29+
output.Stdoutl(prefix, v)
30+
} else {
31+
output.Stdoutl(prefix, "not found")
32+
}
33+
}
34+
)
35+
36+
v, ok = os.LookupEnv(ENV1)
37+
p("[ENV1]", v, ok)
38+
39+
v, ok = os.LookupEnv(ENV2)
40+
p("[ENV2]", v, ok)
41+
42+
return nil
43+
44+
/*
45+
$ task
46+
task: [build] go build .
47+
task: [run] ./try-golang -onetime
48+
49+
ENTER EXAMPLE NAME: osop_lookupenv
50+
51+
[Name] "osop_lookupenv"
52+
[ENV1] devlights-trygolang-q7kq6quld1n
53+
[ENV2] not found
54+
55+
56+
[Elapsed] 19.3µs
57+
*/
58+
59+
}

0 commit comments

Comments
 (0)