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

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

 更新時間:2020年12月22日 11:39:58   作者:robertkun  
這篇文章主要介紹了golang文件讀取-按指定BUFF大小讀取方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 盤點幾種Go語言開發(fā)的IDE

    盤點幾種Go語言開發(fā)的IDE

    Go語言作為一種新興的編程語言,近年來受到了越來越多的關(guān)注,它以其簡潔、高效和并發(fā)性能而聞名,被廣泛應(yīng)用于各種軟件開發(fā)項目中,本文將介紹幾種常用的Go語言IDE,并對它們進行比較,幫助開發(fā)者根據(jù)自己的需求選擇合適的工具,需要的朋友可以參考下
    2023-11-11
  • 實用的Go語言開發(fā)工具及使用示例

    實用的Go語言開發(fā)工具及使用示例

    這篇文章主要為大家介紹了實用的Go語言開發(fā)工具及使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Golang中channel使用的一些小技巧

    Golang中channel使用的一些小技巧

    這篇文章主要介紹了Golang中channel使用的一些小技巧,本文講解了關(guān)閉2次、讀取的時候channel提前關(guān)閉了、向已經(jīng)關(guān)閉的channel寫數(shù)據(jù)等技巧及這實例代碼,需要的朋友可以參考下
    2015-07-07
  • 一文詳解Golang中字符串的常見錯誤

    一文詳解Golang中字符串的常見錯誤

    這篇文章主要來和大家深入討論一下Golang?中的字符串,并查看一些不同的場景,以避免常見錯誤,對大家掌握golang有一定的幫助,需要的可以了解下
    2023-10-10
  • 淺談Go數(shù)組比切片好在哪

    淺談Go數(shù)組比切片好在哪

    Go1.17 會正式支持切片轉(zhuǎn)換到數(shù)據(jù),不再需要用以前那種騷辦法了,本文就談?wù)凣o數(shù)組比切片好在哪,感興趣的可以了解一下
    2021-09-09
  • IdeaGo啟動報錯Failed to create JVM的問題解析

    IdeaGo啟動報錯Failed to create JVM的問題解析

    這篇文章主要介紹了IdeaGo啟動報錯Failed to create JVM的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 利用Golang實現(xiàn)TCP連接的雙向拷貝詳解

    利用Golang實現(xiàn)TCP連接的雙向拷貝詳解

    公司中遇到了一個使用golang編寫的agent程序,所以這篇文章主要給大家介紹了關(guān)于利用Go如何實現(xiàn)TCP連接的雙向拷貝的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考,下面隨著小編來一起看看吧。
    2017-09-09
  • 淺談golang package中init方法的多處定義及運行順序問題

    淺談golang package中init方法的多處定義及運行順序問題

    這篇文章主要介紹了淺談golang package中init方法的多處定義及運行順序問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Go語言實現(xiàn)登錄驗證代碼案例

    Go語言實現(xiàn)登錄驗證代碼案例

    這篇文章主要介紹了Go語言實現(xiàn)登錄驗證代碼案例,代碼和圖文講解的很清晰,有感興趣的可以學(xué)習(xí)下
    2021-03-03
  • 關(guān)于golang test緩存問題

    關(guān)于golang test緩存問題

    這篇文章主要介紹了關(guān)于golang test緩存問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09

最新評論

台北市| 嘉定区| 邵阳县| 中江县| 固原市| 金堂县| 南昌县| 吉木萨尔县| 修文县| 高阳县| 昭平县| 乐平市| 礼泉县| 海安县| 綦江县| 高邑县| 滁州市| 南雄市| 和静县| 日照市| 乌兰察布市| 夏津县| 澄江县| 海兴县| 承德县| 获嘉县| 泾阳县| 原平市| 汉阴县| 张家口市| 木兰县| 阳泉市| 镇江市| 峨山| 玛沁县| 新河县| 鄯善县| 曲水县| 安多县| 南陵县| 嘉峪关市|