Back to snippets
flipt_go_sdk_feature_flag_variant_evaluation.go
goThis example demonstrates how to initialize the Flipt Go SDK and evaluate a featur
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}