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

完美解決go Fscanf 在讀取文件時出現(xiàn)的問題

 更新時間:2021年03月22日 10:59:32   作者:煙雨任大  
這篇文章主要介紹了完美解決go Fscanf 在讀取文件時出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

先要明白Fscanf的工作原理

Fscanf在遇到\n才結(jié)束

遇到\r時就會把\r替換成0

這就有個問題,要注意自己的文本換行符是什么,在Windows下就是\r\n,在Linux,Mac下就是\n,也就是說這里有個坑,

代碼在Linux和Mac下讀取數(shù)據(jù)文件是正常的,在Windows下就會遇到各種行末尾有個0,網(wǎng)上辦法用什么替換啊,用什么自定義Scan函數(shù)啊,太麻煩了,直接使用自帶IDE將打開的數(shù)據(jù)文件集換行符改成LF(Linux,Mac換行符)就行了

如下圖Idea

文件右下角LF點擊就可以更換換行符

補充:go中的Fscanf讀到0的問題

今天在使用Fscanf讀矩陣的時候遇到了一個問題,發(fā)現(xiàn)每次遇到換行,就多讀一個0的問題

func readMaze(filename string) [][]int {
 file, err := os.Open(filename)
 if err != nil {
 panic(err)
 }
 var row,col int
 fmt.Fscanf(file, "%d %d", &row, &col)
 maze := make([][]int, row)
 for i := range maze {
 maze[i] = make([]int, col)
 for j := range maze[i] {
  fmt.Fscanf(file,"%d",&maze[i][j])
 }
 }
 return maze
}

分析得出這是由于windows下的格式導(dǎo)致的,在windows下的換行符是\r\n,所以遇到\r會讀一個0進去,在linux下?lián)Q行符只有\(zhòng)n

解決方法1

直接通過修改ide的格式即可,在goland的下方修改:

改成LF即為linux,這種方法我試了沒成功,不知道是不是電腦的原因,可以先試一下這種方法

解決方法2

如果是不能避免,那就把這個0讀出來,然后扔掉即可,可以在每行后面,多根一句話:

fmt.Fscanf(file,"%d")

解決方法3

使用方法

fmt.Fscan(file,&maze[i][j])

不規(guī)定格式的情況下是不會出現(xiàn)多讀0

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Golang實現(xiàn)常見的限流算法的示例代碼

    Golang實現(xiàn)常見的限流算法的示例代碼

    限流是項目中經(jīng)常需要使用到的一種工具,一般用于限制用戶的請求的頻率,也可以避免瞬間流量過大導(dǎo)致系統(tǒng)崩潰,或者穩(wěn)定消息處理速率,本文主要介紹了使用Go實現(xiàn)常見的限流算法,希望對大家有所幫助
    2023-04-04
  • golang使用aes庫實現(xiàn)加解密操作

    golang使用aes庫實現(xiàn)加解密操作

    這篇文章主要介紹了golang使用aes庫實現(xiàn)加解密操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang使用singleflight解決并發(fā)重復(fù)請求

    Golang使用singleflight解決并發(fā)重復(fù)請求

    高并發(fā)的場景下,經(jīng)常會出現(xiàn)并發(fā)重復(fù)請求資源的情況,singleflight是golang內(nèi)置的一個包,這個包提供了對重復(fù)函數(shù)調(diào)用的抑制功能,所以下面我們就來看看如何使用它解決并發(fā)重復(fù)請求吧
    2023-08-08
  • go swagger生成接口文檔使用教程

    go swagger生成接口文檔使用教程

    這篇文章主要為大家介紹了go swagger生成接口文檔使用教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • golang實現(xiàn)瀏覽器導(dǎo)出excel文件功能

    golang實現(xiàn)瀏覽器導(dǎo)出excel文件功能

    這篇文章主要介紹了golang實現(xiàn)瀏覽器導(dǎo)出excel文件功能,文章通過golang導(dǎo)出excel文件返回給web,實現(xiàn)瀏覽器導(dǎo)出excel文件功能,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • 基于Golang編寫貪吃蛇游戲

    基于Golang編寫貪吃蛇游戲

    這篇文章主要為大家學(xué)習(xí)介紹了Golang如何基于終端庫termbox-go做個功能較簡單的貪吃蛇游戲,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值
    2023-07-07
  • Golang中基礎(chǔ)的命令行模塊urfave/cli的用法說明

    Golang中基礎(chǔ)的命令行模塊urfave/cli的用法說明

    這篇文章主要介紹了Golang中基礎(chǔ)的命令行模塊urfave/cli的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 一文帶你深入了解Go語言中切片的奧秘

    一文帶你深入了解Go語言中切片的奧秘

    切片是數(shù)組的一個引用,因此切片是引用類型。但自身是結(jié)構(gòu)體,值拷貝傳遞。本文將通過示例帶大家一起探索一下Go語言中切片的奧秘,感興趣的可以了解一下
    2022-11-11
  • Golang使用Zookeeper實現(xiàn)分布式鎖

    Golang使用Zookeeper實現(xiàn)分布式鎖

    分布式鎖是一種在分布式系統(tǒng)中用于控制并發(fā)訪問的機制,ZooKeeper?和?Redis?都是常用的實現(xiàn)分布式鎖的工具,本文就來使用Zookeeper實現(xiàn)分布式鎖,希望對大家有所幫助
    2024-02-02
  • Go?http請求排隊處理實戰(zhàn)示例

    Go?http請求排隊處理實戰(zhàn)示例

    這篇文章主要為大家介紹了Go?http請求排隊處理實戰(zhàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論

双辽市| 手游| 新平| 沭阳县| 襄樊市| 株洲县| 马公市| 体育| 弥渡县| 邯郸市| 偏关县| 乌鲁木齐县| 芮城县| 合水县| 清新县| 朝阳区| 绥化市| 刚察县| 丰城市| 平武县| 泽州县| 霍邱县| 离岛区| 崇文区| 敦煌市| 高碑店市| 龙泉市| 蓝山县| 纳雍县| 博乐市| 正镶白旗| 连城县| 贵定县| 宝鸡市| 贵溪市| 黎川县| 丘北县| 郧西县| 富宁县| 达拉特旗| 财经|