最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GO語言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)

 更新時(shí)間:2022年03月16日 17:21:13   作者:峰啊瘋了  
這篇文章主要介紹了GO語言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)的相關(guān)資料,內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的朋友可任意參考一下

1.校驗(yàn)網(wǎng)段是否合法

1.1函數(shù)

import (
? ? "fmt"
? ? "net"
)
func IsNetWorkOk(network string ) bool{
? ? _, _, err := net.ParseCIDR(network)
? ? if err != nil {
? ? ? ? return false
? ? }
? ? return true
}

1.2分析

第一步就是先split變成ip跟子網(wǎng)掩碼

主要原理就是變成二進(jìn)制以后再進(jìn)行判斷

ipv4跟ipv6都可以校驗(yàn),如果只想校驗(yàn)ipv4可以調(diào)用parseIPv4方法

1.3主函數(shù)運(yùn)行測試

func main() {
? ? ip := "100.4.11.3/24"
? ? result := IsNetWorkOk(ip)
? ? fmt.Println(result)
}

2.校驗(yàn)ip是否合法

2.1函數(shù)

func IsIpOk(ip string ) bool{
? ? address := net.ParseIP(ip)
? ? if address == nil {
? ? ? ? return false
? ? }
? ? return true
}

2.2分析

點(diǎn)分十進(jìn)制換成2進(jìn)制,判斷是否合法:

2.3主函數(shù)運(yùn)行測試

func main() {
? ? ip := "100.4.11.34"
? ? result := IsIpOk(ip)
? ? fmt.Println(result)
}

3.判斷兩個(gè)網(wǎng)段,一個(gè)是否是另一個(gè)的子網(wǎng)

3.1函數(shù)

func ContainsCIDR(a, b *net.IPNet) bool {
? ? ones1, _ := a.Mask.Size()
? ? ones2, _ := b.Mask.Size()
? ? return ones1 <= ones2 && a.Contains(b.IP)
}

//最好提前做好網(wǎng)段是否合法校驗(yàn)
func ContainsCIDRString(a,b string)(bool,error){
? ? _, net1, err := net.ParseCIDR(a)
? ? if err != nil {
? ? ? ? return false,err
? ? }
? ? _, net2, err := net.ParseCIDR(b)
? ? if err != nil {
? ? ? ? return false,err
? ? }
? ? result := ContainsCIDR(net1,net2)
? ? return result,err
}

3.2分析

調(diào)用了ip包含的方法

3.3運(yùn)行測試

func main() {
? ? net1 := "100.64.0.0/16"
? ? net2 := "100.64.0.0/20"
? ? _, a, err := net.ParseCIDR(net1)
? ? _, b, err := net.ParseCIDR(net2)
? ? if err != nil {
? ? ? ? return
? ? }
? ? result := ContainsCIDR(a,b)
? ? fmt.Println(result)
}

到此這篇關(guān)于GO語言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)的文章就介紹到這了,更多相關(guān)golang網(wǎng)段內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go?Java?算法之字符串解碼示例詳解

    Go?Java?算法之字符串解碼示例詳解

    這篇文章主要為大家介紹了Go?Java?算法之字符串解碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 一文帶你了解Golang中的并發(fā)性

    一文帶你了解Golang中的并發(fā)性

    并發(fā)是一個(gè)很酷的話題,一旦你掌握了它,就會成為一筆巨大的財(cái)富。所以本文就來和大家一起來聊聊Golang中的并發(fā)性,感興趣的可以了解一下
    2023-03-03
  • 解決Goland 提示 Unresolved reference 錯(cuò)誤的問題

    解決Goland 提示 Unresolved reference 錯(cuò)誤的問題

    這篇文章主要介紹了解決Goland 提示 Unresolved reference 錯(cuò)誤的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go并發(fā)控制Channel使用場景分析

    Go并發(fā)控制Channel使用場景分析

    使用channel來控制子協(xié)程的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,缺點(diǎn)是當(dāng)需要大量創(chuàng)建協(xié)程時(shí)就需要有相同數(shù)量的channel,而且對于子協(xié)程繼續(xù)派生出來的協(xié)程不方便控制
    2021-07-07
  • golang動(dòng)態(tài)庫(so)生成與使用方法教程

    golang動(dòng)態(tài)庫(so)生成與使用方法教程

    這篇文章主要給大家介紹了關(guān)于golang動(dòng)態(tài)庫(so)生成與使用的相關(guān)資料,我們平時(shí)使用的動(dòng)態(tài)庫都是由c/c++開發(fā)最后生成的.so文件,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Go基本數(shù)據(jù)類型與string類型互轉(zhuǎn)

    Go基本數(shù)據(jù)類型與string類型互轉(zhuǎn)

    本文主要介紹了Go基本數(shù)據(jù)類型與string類型互轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 詳解Golang如何優(yōu)雅判斷interface是否為nil

    詳解Golang如何優(yōu)雅判斷interface是否為nil

    這篇文章主要為大家詳細(xì)介紹了Golang如何優(yōu)雅判斷interface是否為nil的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解下
    2024-01-01
  • Golang泛型的使用方法詳解

    Golang泛型的使用方法詳解

    這篇文章主要介紹了Golang中泛型的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • go語言題解LeetCode453最小操作次數(shù)使數(shù)組元素相等

    go語言題解LeetCode453最小操作次數(shù)使數(shù)組元素相等

    這篇文章主要為大家介紹了go語言題解LeetCode453最小操作次數(shù)使數(shù)組元素相等示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • golang 的string與[]byte轉(zhuǎn)換方式

    golang 的string與[]byte轉(zhuǎn)換方式

    這篇文章主要介紹了golang 的string與[]byte轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論

通州区| 偃师市| 榆树市| 温泉县| 曲阳县| 龙江县| 巴青县| 华宁县| 密云县| 化德县| 明星| 新郑市| 平顶山市| 松溪县| 兰溪市| 蛟河市| 乡城县| 麻栗坡县| 贡觉县| 阳高县| 精河县| 石阡县| 临江市| 哈密市| 广安市| 探索| 田林县| 龙江县| 乐业县| 札达县| 汽车| 万荣县| 梅河口市| 巩义市| 宿州市| 高要市| 贺兰县| 东丰县| 南涧| 永善县| 平果县|