package mainimport ("context""fmt""log""time"clientv3"go.etcd.io/etcd/client/v3")funcmain() {// Настройки подключенияendpoints:= []string{"localhost:2379"}dialTimeout:=5*time.Second// Подключаемся к etcdclient,err:=clientv3.New(clientv3.Config{Endpoints:endpoints,DialTimeout:dialTimeout,})iferr!=nil {log.Fatalf("Failed to connect to etcd: %v",err)}deferclient.Close()// Контекст с таймаутомctx,cancel:=context.WithTimeout(context.Background(),5*time.Second)defercancel()// Запись данных в etcdkey:="foo"value:="bar"_,err=client.Put(ctx,key,value)iferr!=nil {log.Fatalf("Failed to put key: %v",err)}fmt.Printf("✅ Key written: %s -> %s\n",key,value)// Чтение данных из etcdresp,err:=client.Get(ctx,key)iferr!=nil {log.Fatalf("Failed to get key: %v",err)}// Выводим значениеiflen(resp.Kvs)>0 {fmt.Printf("🔍 Key found: %s -> %s\n",resp.Kvs[0].Key,resp.Kvs[0].Value)}else {fmt.Println("⚠️ Key not found")}}