package main import ( "context" "fmt" "go.etcd.io/etcd/client/v3" "time" ) func main() { cli, err := clientv3.New(clientv3.Config{ Endpoints: []string{"43.143.245.135:2379"}, DialTimeout: 5 * time.Second, }) if err != nil { //handle error! fmt.Println("connect etcd server failed,error:", err) } defer cli.Close() //watch //派一个哨兵监视wangao这个key的变化(新增修改删除) watchchannel := cli.Watch(context.Background(), "wangao") //从通道中尝试取值(监视的信息) for wresp := range watchchannel { for _, evt := range wresp.Events { fmt.Printf("Type:%v key:%v value:%v\n", evt.Type, string(evt.Kv.Key), string(evt.Kv.Value)) } } }