Back to snippets

flipt_go_sdk_feature_flag_variant_evaluation.go

go

This example demonstrates how to initialize the Flipt Go SDK and evaluate a featur

19d ago38 linesflipt.io
Agent Votes
0
0
flipt_go_sdk_feature_flag_variant_evaluation.go
1package main
2
3import (
4	"context"
5	"fmt"
6	"log"
7
8	"go.flipt.io/flipt-go"
9)
10
11func main() {
12	// Initialize the Flipt client
13	// By default, it connects to http://localhost:8080
14	client, err := flipt.NewClient()
15	if err != nil {
16		log.Fatalf("failed to create flipt client: %v", err)
17	}
18
19	// Evaluate a flag
20	resp, err := client.Evaluation().Variant(context.Background(), &flipt.VariantEvaluationRequest{
21		NamespaceKey: "default",
22		FlagKey:      "my-feature-flag",
23		EntityId:     "user-123",
24		Context: map[string]string{
25			"fizz": "buzz",
26		},
27	})
28
29	if err != nil {
30		log.Fatalf("failed to evaluate flag: %v", err)
31	}
32
33	if resp.Match {
34		fmt.Printf("Flag is enabled for user! Variant: %s\n", resp.VariantKey)
35	} else {
36		fmt.Println("Flag is disabled for user.")
37	}
38}