// Create a new ShardInfo struct shardInfo := &topo.ShardInfo{ Keyspace: "mykeyspace", ShardName: "myshard", TabletTypes: []topo.TabletType{topo.TYPE_MASTER, topo.TYPE_REPLICA}, KeyRange: topo.KeyRange{ Start: []byte("10"), End: []byte("20"), }, } // Get the name of a shard shardName := shardInfo.ShardName // Update the tablet types of a shard shardInfo.TabletTypes = []topo.TabletType{topo.TYPE_MASTER} // Check if a shard has a particular tablet type hasReplicaTablets := topo.IncludesTabletType(shardInfo.TabletTypes, topo.TYPE_REPLICA)These examples demonstrate how to create and manipulate ShardInfo structs, as well as how to access their properties. They also show how to use the ShardName type to represent the name of a shard.