主頁 > 知識庫 > golang文件讀取-按指定BUFF大小讀取方式

golang文件讀取-按指定BUFF大小讀取方式

熱門標簽:寧波語音外呼系統(tǒng)公司 不封卡外呼系統(tǒng) 上海極信防封電銷卡價格 鄭州智能語音電銷機器人價格 宿遷便宜外呼系統(tǒng)代理商 地圖標注免費定制店 湛江crm外呼系統(tǒng)排名 重慶慶云企業(yè)400電話到哪申請 仙桃400電話辦理

a.txt文件內(nèi)容:

ABCDEFGHI

HELLO GOLANG

package main
import (
  "fmt"
  "os"
  "io"
)
func main() {
  fileName := "C:\\Robert\\日志分析\\tools_go\\vdn_sqlInterface\\a.txt"
  file, err := os.OpenFile(fileName, os.O_RDWR, 0666)
  if err != nil {
    fmt.Println("Open file error!", err)
    return
  }
  defer file.Close()
  stat, err := file.Stat()
  if err != nil {
    panic(err)
  }
  var size = stat.Size()
  fmt.Println("file size=", size)
  // define read block size = 2
  buf := make([]byte, 2)
  for {
    length, err := file.Read(buf)
    if err != nil {
      if err == io.EOF {
        break
      } else {
        fmt.Println("Read file error!", err)
        return
      }
    }
    fmt.Println(length, string(buf))
  }
  fmt.Println("File read ok!")
}

輸出:

每次讀取2個字節(jié)的大小并輸出

file size= 23
2 AB
2 CD
2 EF
2 GH
2 I
2
H
2 EL
2 LO
2 G
2 OL
2 AN
1 GN
File read ok!

補充:golang 數(shù)組append前后的地址變化

我就廢話不多說了,大家還是直接看代碼吧~

func main() {
 res := make([]int, 0)
 res = append(res, 1) //同函數(shù)內(nèi)append前后地址不變
 for i, v := range res {
 println(i,v)
 }
}

打?。?/p>

0 1

func solve(res []int) {
 res = append(res, 1) //不在同一函數(shù)內(nèi)append前后地址變
}
 
func main() {
 res := make([]int, 0)
 for i, v := range res {
 println(i,v)
 }
}

打?。?/p>

因為append改變了原res的地址。所以改為:

func solve(res []int) []int {
 return append(res, 1)
}
 
func main() {
 res := make([]int, 0)
 for i, v := range solve(res) {
 println(i,v)
 }
}

打?。?/p>

0 1

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

您可能感興趣的文章:
  • golang逐行讀取文件的操作
  • Golang 實現(xiàn)分片讀取http超大文件流和并發(fā)控制
  • 淺談Golang是如何讀取文件內(nèi)容的(7種)
  • golang 使用 viper 讀取自定義配置文件
  • 如何利用Golang解析讀取Mysql備份文件
  • golang讀取文件的常用方法總結(jié)
  • Golang 實現(xiàn)超大文件讀取的兩種方法

標簽:物業(yè)服務(wù) 海南 儋州 電子產(chǎn)品 安康 青海 遼寧 西雙版納

巨人網(wǎng)絡(luò)通訊聲明:本文標題《golang文件讀取-按指定BUFF大小讀取方式》,本文關(guān)鍵詞  golang,文件,讀取,按,指定,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang文件讀取-按指定BUFF大小讀取方式》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang文件讀取-按指定BUFF大小讀取方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章