Skip to content

Commit 8998e80

Browse files
authored
Merge pull request #761 from devlights/add-os-expandenv-example
2 parents a28d1b5 + f87b0f3 commit 8998e80

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

examples/basic/osop/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
| environ.go | osop_environ | os.Environ()のサンプルです。 |
1010
| getenv.go | osop_getenv | os.GetEnv() のサンプルです。 |
1111
| lookupenv.go | osop_lookupenv | os.LookupEnv() のサンプルです。 |
12+
| expandenv.go | osop_expandenv | os.ExpandEnv() のサンプルです。 |

examples/basic/osop/examples.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ func (r *register) Regist(m mapping.ExampleMapping) {
1818
m["osop_environ"] = Environ
1919
m["osop_getenv"] = GetEnv
2020
m["osop_lookupenv"] = LookupEnv
21+
m["osop_expandenv"] = ExpandEnv
2122
}

examples/basic/osop/expandenv.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package osop
2+
3+
import (
4+
"os"
5+
6+
"github.com/devlights/gomy/output"
7+
)
8+
9+
// ExpandEnv は、os.ExpandEnv() のサンプルです。
10+
//
11+
// ExpandEnv は、現在の環境変数の値に従って、文字列中の ${var} または $var を置き換えます。
12+
// 未定義の変数への参照は空文字列に置き換えられます。
13+
//
14+
// 戻り値は string で、error は返らない。
15+
//
16+
// # REFERENCES
17+
//
18+
// - https://pkg.go.dev/os@go1.22.0#ExpandEnv
19+
func ExpandEnv() error {
20+
var (
21+
env1 = os.ExpandEnv("${HOME}") // ${VAL}形式
22+
env2 = os.ExpandEnv("$SONZAISHINAI") // $VAL形式
23+
env3 = os.ExpandEnv("home is ${HOME}, hostname is ${HOSTNAME}")
24+
)
25+
26+
output.Stdoutf("[env1]", "%q\n", env1)
27+
output.Stdoutf("[env2]", "%q\n", env2)
28+
output.Stdoutf("[env3]", "%q\n", env3)
29+
30+
return nil
31+
}

0 commit comments

Comments
 (0)