ホームページ >バックエンド開発 >Golang >golang net ネットワーク カードを削除する

golang net ネットワーク カードを削除する

PHPz
PHPzオリジナル
2023-05-09 19:16:35646ブラウズ

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 でネットワーク カードを削除するには、次の手順が必要です:

    net
  1. および netlink パッケージをインポートします。
  2. net.Interfaces()
  3. を使用してすべてのネットワーク インターフェイス情報を取得します; すべてのネットワーク インターフェイス情報を調べて、削除する必要があるネットワーク カードを見つけます;
  4. netlink .LinkByName()
  5. を使用して、削除するネットワーク カードを見つけます。ネットワーク カードを削除するには、
  6. netlink.LinkDel()
  7. を使用します。
  8. この記事が、読者が Golang でネットワーク カードを正常に削除するのに役立つことを願っています。

以上がgolang net ネットワーク カードを削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。