io – Golang中的低级磁盘IO.

io – Golang中的低级磁盘IO.,第1张

概述想知道是否有人尝试过低级别的磁盘I / O,例如阅读原始扇区,MBR等.我已经做了一些挖掘自己,但未能找到任何有关它的提及.大部分都是死路,有人在谈论Go的原生io包. 任何线索将不胜感激. 我还是新手,所以我的例子并不是特别优雅,但我认为这就是你想要的: package mainimport ( "syscall" "fmt")func main() { dis 想知道是否有人尝试过低级别的磁盘I / O,例如阅读原始扇区,MBR等.我已经做了一些挖掘自己,但未能找到任何有关它的提及.大部分都是死路,有人在谈论Go的原生io包.

任何线索将不胜感激.

我还是新手,所以我的例子并不是特别优雅,但我认为这就是你想要的:
package mainimport (    "syscall"    "fmt")func main() {    disk := "/dev/sda"    var fd,numread int    var err error    fd,err = syscall.Open(disk,syscall.O_RDONLY,0777)    if err != nil {        fmt.Print(err.Error(),"\n")        return    }    buffer := make([]byte,10,100)    numread,err = syscall.Read(fd,buffer)    if err != nil {        fmt.Print(err.Error(),"\n")    }    fmt.Printf("Numbytes read: %d\n",numread)    fmt.Printf("Buffer: %b\n",buffer)    err = syscall.Close(fd)    if err != nil {        fmt.Print(err.Error(),"\n")    }}

以下是syscall包文档的链接:http://golang.org/pkg/syscall/

根据这个页面,这个软件包试图与尽可能多的不同平台兼容,但有点像我的新手眼睛似乎主要目标是linux API,当然,还有成语来简化事情.我希望这回答了你的问题!

总结

以上是内存溢出为你收集整理的io – Golang中的低级磁盘I / O.全部内容,希望文章能够帮你解决io – Golang中的低级磁盘I / O.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1293724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存