Golang では、net パッケージを使用してネットワークと対話できます。 net パッケージはさまざまな機能を提供しますが、場合によっては、既存のネットワーク カードを削除する必要があります。この記事では、Golang で net パッケージを使用してネットワーク カードを削除する方法を紹介します。
まず、ネット パッケージをインポートし、ネットワーク インターフェイス情報を取得する必要があります。具体的なコードは次のとおりです。
package main import ( "fmt" "net" ) func main() { interfaces, err := net.Interfaces() if err != nil { panic(err) } fmt.Println(interfaces) }
上記のコードでは、net.Interfaces()
を使用してすべてのネットワーク インターフェイスの情報を取得し、出力します。次に、削除するネットワーク カードを見つける必要があります。ネットワーク インターフェイス情報をたどることで、削除する必要があるネットワーク カードを見つけることができます。サンプル コードは次のとおりです。
package main import ( "fmt" "net" ) func main() { interfaces, err := net.Interfaces() if err != nil { panic(err) } for _, iface := range interfaces { if iface.Name == "en0" { fmt.Println("Found interface:", iface.Name) } } }
上記のコードでは、すべてのネットワーク インターフェイス情報を調べ、削除する必要があるネットワーク カードが if
ステートメントによって見つかるかどうかを判断します。 en0 ネットワーク カードを削除したいとします。このネットワーク カードを見つけて印刷できます。
これで、削除対象のネットワーク カードが見つかりました。次に、netlink
パッケージを使用して、このネットワーク カードを削除する必要があります。具体的なコードは次のとおりです。
package main import ( "fmt" "github.com/vishvananda/netlink" ) func main() { en0, err := netlink.LinkByName("en0") if err != nil { panic(err) } err = netlink.LinkDel(en0) if err != nil { panic(err) } fmt.Println("Interface", en0.Attrs().Name, "deleted") }
上記のコードでは、netlink.LinkByName()
を使用して削除するネットワーク カードを検索し、netlink.LinkDel( )
削除するには削除します。最後に、削除が成功したという情報を出力します。
関数を使用するには、github.com/vishvananda/netlink
パッケージをインポートする必要があることに注意してください。 つまり、Golang でネットワーク カードを削除するには、次の手順が必要です:
netlink
パッケージをインポートします。
すべてのネットワーク インターフェイス情報を調べて、削除する必要があるネットワーク カードを見つけます;
ネットワーク カードを削除するには、
以上がgolang net ネットワーク カードを削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。