Skip to main content

Flagsmith Go SDK

The SDK client for Go https://flagsmith.com/. Flagsmith allows you to manage feature flags and remote config across multiple projects, environments and organisations.

The source code for the client is available on Github.

Getting Started#

go get github.com/flagsmith/flagsmith-go-client
import (
"github.com/flagsmith/flagsmith-go-client"
)

Basic Usage#

The SDK is initialised against a single environment within a project on https://flagsmith.com, for example the Development or Production environment. You can find your environment key in the Environment settings page.

Retrieving feature flags for your project#

For full documentation visit https://docs.flagsmith.com

Sign Up and create account at https://flagsmith.com/

In your application initialise the BulletTrain client with your API key

bt := bullettrain.DefaultClient("<Your API Key>")

To check if a feature flag exists and is enabled:

bt := bullettrain.DefaultClient("<Your API Key>")
enabled, err := bt.FeatureEnabled("cart_abundant_notification_ab_test_enabled")
if err != nil {
log.Fatal(err)
} else {
if (enabled) {
fmt.Printf("Feature enabled")
}
}

To get the configuration value for feature flag value:

feature_value, err := bt.GetValue("cart_abundant_notification_ab_test")
if err != nil {
log.Fatal(err)
} else {
fmt.Printf(feature_value)
}

More examples can be found in the Tests

Override default configuration#

By default, client is using default configuration. You can override configuration as follows:

bt := bullettrain.NewBulletTrainClient("<Your API Key>", bullettrain.Config{BaseURI: "<Your API URL>"})