- init
continuous-integration/drone/push Build is passing Details

master v1.0.0
李光春 2 years ago
commit 4ea955eacd

@ -0,0 +1,17 @@
kind: pipeline
type: docker
name: clone
steps:
- name: Test
image: golang:1.18
commands:
- go env -w GO111MODULE=on
- go env -w GOPROXY=https://goproxy.cn,direct
- go test -v ./...
- name: Benchmark
image: golang:1.18
commands:
- go env -w GO111MODULE=on
- go env -w GOPROXY=https://goproxy.cn,direct
- go test -bench=. -benchmem

8
.gitignore vendored

@ -0,0 +1,8 @@
.env
.git
.svn
.idea
.vscode
*.log
gomod.sh
/vendor/

@ -0,0 +1,5 @@
module go.dtapp.net/goenv
go 1.18
require go.dtapp.net/gostring v1.0.3

@ -0,0 +1,2 @@
go.dtapp.net/gostring v1.0.3 h1:KSOq4D77/g5yZN/bqWfZ0kOOaPr/P1240vg03+XdENI=
go.dtapp.net/gostring v1.0.3/go.mod h1:+ggrOvgQDQturi1QGsXEpyRN/ZPoRDaqhMujIk5lrgQ=

@ -0,0 +1,39 @@
package goenv
import (
"go.dtapp.net/gostring"
"os"
"strings"
)
func GetEnvDefault(key, defVal string) string {
val, ok := os.LookupEnv(key)
if ok {
return val
}
return defVal
}
func GetEnvDefaultInt(key string, defVal int) int {
val, ok := os.LookupEnv(key)
if ok {
return gostring.ToInt(val)
}
return defVal
}
func GetEnvs(key string) string {
envs := os.Environ()
for _, e := range envs {
parts := strings.SplitN(e, "=", 2)
if len(parts) != 2 {
continue
} else {
println(parts[0], parts[1])
if parts[0] == key {
return parts[1]
}
}
}
return ""
}

@ -0,0 +1,22 @@
package goenv
import "testing"
func TestGetEnvDefault(t *testing.T) {
t.Log(GetEnvDefault("test1", "1"))
}
func TestGetEnvDefaultInt(t *testing.T) {
t.Log(GetEnvDefaultInt("test2", 2))
}
func BenchmarkGetEnvDefault(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Log(GetEnvDefault("test1", "1"))
}
}
func BenchmarkGetEnvDefaultInt(b *testing.B) {
for i := 0; i < b.N; i++ {
b.Log(GetEnvDefaultInt("test2", 2))
}
}

@ -0,0 +1,3 @@
package goenv
const Version = "1.0.0"

@ -0,0 +1,7 @@
package goenv
import "testing"
func TestVersion(t *testing.T) {
t.Log(Version)
}
Loading…
Cancel
Save