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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何停止 fmt.print() 打印到輸出?

如何停止 fmt.print() 打印到輸出?

Go
智慧大石 2023-07-31 17:03:19
fmt.print()我正在使用一個代碼中包含一些 s 的包,我想阻止它們打印到輸出。我想在不更改包內(nèi)代碼的情況下抑制它們,而只需在我的main.go.是否可以強制fmt不將打印記錄到輸出?
查看完整描述

1 回答

?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

是的,只需轉(zhuǎn)移os.Stdout和/或os.Stderr例如:


package main


import (

    "fmt"

    "os"

)


func main() {

    temp := os.Stdout

    os.Stdout = nil    // turn it off

    packageFunctions() // call you package functions here

    os.Stdout = temp   // restore it

    fmt.Println("Bye")

}

func packageFunctions() {

    fmt.Println("Hi")

}


輸出:


Bye

您可以將其轉(zhuǎn)移到臨時文件:


package main


import (

    "fmt"

    "io/ioutil"

    "log"

    "os"

)


func main() {

    tmpfile, err := ioutil.TempFile("", "example")

    if err != nil {

        log.Fatal(err)

    }

    fmt.Println(tmpfile.Name())

    // defer os.Remove(tmpfile.Name()) // clean up


    temp := os.Stdout

    os.Stdout = tmpfile

    packageFunctions() // call you package functions here


    if err := tmpfile.Close(); err != nil {

        log.Fatal(err)

    }


    os.Stdout = temp // restore it

    fmt.Println("Bye")

}

func packageFunctions() {

    fmt.Println("Hi")

}


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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