小编sou*_*rer的帖子

如何从切片中删除项目的重复项?

我正在编写一个命令行工具,它将从文本文件中删除对等项.

这是文本文件.它在代码中的引用是cfg.Bootstrap

 "Bootstrap": [
{
  "Address": "/ip4/162.243.139.64/tcp/5001",
  "PeerID": "QmXZPT1SLcczjNSLnSCsQBWwbosKjrDRo122Ys8ajKoQXQ"
},
{
  "Address": "/ip4/162.243.139.64/tcp/5001",
  "PeerID": "QmXZPT1SLcczjNSLnSCsQBWwbosKjrDRo122Ys8ajKoQXA"
},
{
  "Address": "/ip4/162.243.139.64/tcp/5001",
  "PeerID": "QmXZPT1SLcczjNSLnSCsQBWwbosKjrDRo122Ys8ajKoQXQ"
},
{
  "Address": "/ip4/162.243.139.64/tcp/5001",
  "PeerID": "QmXZPT1SLcczjNSLnSCsQBWwbosKjrDRo122Ys8ajKoQXA"
}
Run Code Online (Sandbox Code Playgroud)

]

使用用户提供的PeerID和Address创建对等对象.看起来像这样

peer := config.BootstrapPeer{
                Address: address,
                PeerID:  pID,
            }
Run Code Online (Sandbox Code Playgroud)

目标是删除包含用户提供的Address和PeerID的所有对等cfg.Bootstrap

   //iterate through the list of peers multiple times so that we delete all matches
   for i := range cfg.Bootstrap {

            //iterate through the list of peers
            for i, val := range cfg.Bootstrap {

                //if the user supplied PeerID and Address match …
Run Code Online (Sandbox Code Playgroud)

go

4
推荐指数
1
解决办法
5171
查看次数

标签 统计

go ×1