这是indexloc提供的服务,不要输入任何密码
Skip to content

xchapter7x/toggle

Repository files navigation

toggle

wercker status

func Flip(flg string, defaultFeature, newFeature interface{}, iargs ...interface{}) (responseInterfaceArray []interface{})

func SetFeatureStatus(featureName, featureStatus string) (err error)

func IsActive(flg string) (active bool)

func Init(ns string, engine storageEngine)

func ShowFeatures() map[string]*feature

func RegisterFeature(featureSignature string) (err error)

func RegisterFeatureWithStatus(featureSignature, statusValue string) (err error)

func NewDefaultEngine() (engine storageEngine)

type DefaultEngine struct

func (s *DefaultEngine) GetFeatureStatusValue(featureSignature string) (status string, err error)

Sample usage: (./sample/main.go)

package main

import (
	"fmt"

	"github.com/xchapter7x/goutil/unpack"
	"github.com/xchapter7x/toggle"
)

func TestA(s string) (r string) {
	r = fmt.Sprintln("testa", s)
	fmt.Println(r)
	return
}

func TestB(s string) (r string) {
	r = fmt.Sprintln("testb", s)
	fmt.Println(r)
	return
}

func main() {
	toggle.Init("MAINTEST", nil)
	toggle.RegisterFeature("test")
	f := toggle.Flip("test", TestA, TestB, "argstring")
	var output string
	unpack.Unpack(f, &output)
	fmt.Println(output)

}
$ test=true go run sample/main.go
testb argstring

testb argstring



$ go run sample/main.go
testa argstring

testa argstring

About

golang feature toggle library - a library to help make golang feature toggling clean and easy

Resources

Stars

Watchers

Forks

Packages

No packages published