栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

java buff指定的地方

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java buff指定的地方

a.txt文件内容:

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个字节的大小并输出

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 数组append前后的地址变化

我就废话不多说了,大家还是直接看代码吧~

func main() {

res := make([]int, 0)

res = append(res, 1) //同函数内append前后地址不变

for i, v := range res {

println(i,v)

}

}

打印:

0 1

func solve(res []int) {

res = append(res, 1) //不在同一函数内append前后地址变

}

func main() {

res := make([]int, 0)

for i, v := range res {

println(i,v)

}

}

打印:

空

因为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)

}

}

打印:

0 1

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945490.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号