第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在不同函數(shù)中定義的標(biāo)志,同步給出錯(cuò)誤

在不同函數(shù)中定義的標(biāo)志,同步給出錯(cuò)誤

Go
慕運(yùn)維8079593 2022-12-05 17:24:01
我想使用一些標(biāo)志同時(shí)運(yùn)行兩個(gè)函數(shù),但如果它們不調(diào)用標(biāo)志,則下面的 golang 腳本正在運(yùn)行,go run ping.go即它們將使用默認(rèn)值。下面的 ping.go 文件    package mainimport (    //   "io/ioutil"    //   "log"    "flag"    "fmt"    "net/http"    "sync"    "time")func pingone() {    websiteone := flag.String("websiteone", "adminone", "Zdefault website")    flag.Parse()    // using/printing flags to avoid error    fmt.Println("website:", *websiteone)    eurl := "https://thesiteone.com/"    happ := "/subpage"    for {        resp, err := http.Get(eurl + *websiteone + happ)        if err != nil {            continue        }        fmt.Println(resp)        time.Sleep(2 * time.Second)    }}func pingtwo() {    websitetwo := flag.String("websitetwo", "admintwo", "Zdefault website")    flag.Parse()    // using/printing flags to avoid error    fmt.Println("website:", *websitetwo)    eurltwo := "https://thesitetwo.com/"    happtwo := "/subpage"    for {        resp, err := http.Get(eurltwo + *websitetwo + happtwo)        if err != nil {            continue        }        fmt.Println(resp)        time.Sleep(2 * time.Second)    }}func main() {    var wg sync.WaitGroup    fmt.Printf("Both pingone and pingtwo started\n")    wg.Add(2)    go pingone()    go pingtwo()    wg.Wait()    fmt.Printf("both pingone and pingtwo have finished\n")}但是如果我們同時(shí)調(diào)用這兩個(gè)標(biāo)志, go run ping.go --websitetwo='secondsuburl' --websiteone='firstsuburl' 結(jié)果它們就會(huì)被破壞** 關(guān)于上面的代碼 **該腳本將運(yùn)行兩個(gè)函數(shù),它們都使用同步同時(shí)對(duì)不同的網(wǎng)站執(zhí)行 ping 操作。不要混淆,這里的 url 被分成三部分/字符串:第二部分是標(biāo)志定義的地方。下面輸出root@localhost:~# go run ping.go --websiteone=admin1 --websitetwo=admin2Both pingone and pingtwo startedflag provided but not defined: -websiteoneUsage of /tmp/go-build010683275/b001/exe/ping:  -websiteone string        Zdefault website (default "adminone")website: admin1  -websitetwo string        Zdefault website (default "admintwo")exit status 2
查看完整描述

1 回答

?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

您不應(yīng)該將標(biāo)志 arg 語(yǔ)句分開(kāi)放置,將它們放入單個(gè) func 中,調(diào)用flag.Parse()一次,然后將參數(shù)傳遞給pingone()和pingtwo()。


我在下面調(diào)整了您的代碼,它應(yīng)該可以解決您的問(wèn)題


package main


import (

    "flag"

    "fmt"

    "net/http"

    "sync"

    "time"

)


func pingone(websiteone *string) {

    fmt.Println("website:", *websiteone)


    eurl := "https://thesiteone.com/"

    happ := "/subpage"


    for {

        resp, err := http.Get(eurl + *websiteone + happ)

        if err != nil {

            continue

        }

        fmt.Println(resp)

        time.Sleep(2 * time.Second)

    }

}


func pingtwo(websitetwo *string) {

    fmt.Println("website:", *websitetwo)


    eurltwo := "https://thesitetwo.com/"

    happtwo := "/subpage"


    for {

        resp, err := http.Get(eurltwo + *websitetwo + happtwo)

        if err != nil {

            continue

        }

        fmt.Println(resp)

        time.Sleep(2 * time.Second)

    }

}


func main() {

    websiteone := flag.String("websiteone", "adminone", "Zdefault website")

    websitetwo := flag.String("websitetwo", "admintwo", "Zdefault website")


    flag.Parse()


    var wg sync.WaitGroup


    fmt.Printf("Both pingone and pingtwo started\n")


    wg.Add(2)

    go pingone(websiteone)

    go pingtwo(websitetwo)


    wg.Wait()

    fmt.Printf("both pingone and pingtwo have finished\n")

}


查看完整回答
反對(duì) 回復(fù) 2022-12-05
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)