package main

import (
    "bytes"
    "fmt"
    "io"
    "os"
)

var file *os.File = &os.File{}

var fileBuf *bytes.Buffer = bytes.NewBufferString("")

func main() { 
    var err error
    file, err = os.OpenFile("testData.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR|os.O_TRUNC, os.ModePerm|os.ModeTemporary)
//os.O_TRUNC 清空已经存在的文件
    if err != nil {
        panic(err)
    }
    fileBuf.WriteString(fmt.Sprintf("%d", 1000))
    fileBuf.WriteString("\n")
    fileBuf.WriteString("hello world")

    io.WriteString(file, fileBuf.String())

    defer file.Close()
}
以各种方式打开各种存在和不存在的文件,具体如何操作就要看flag 和perm
flag 可选值(掩码)

  O_RDONLY int = syscall.O_RDONLY // 只读

O_WRONLY int = syscall.O_WRONLY // 只写

O_RDWR   int = syscall.O_RDWR   // 读写

O_APPEND int = syscall.O_APPEND // 在文件末尾追加,打开后cursor在文件结尾位置

O_CREATE int = syscall.O_CREAT  // 如果不存在则创建

O_EXCL   int = syscall.O_EXCL   //与O_CREATE一起用,构成一个新建文件的功能,它要求文件必须不存在

O_SYNC   int = syscall.O_SYNC   // 同步方式打开,没有缓存,这样写入内容直接写入硬盘,系统掉电文件内容有一定保证

O_TRUNC  int = syscall.O_TRUNC  // 打开并清空文件

  FileMode 就是 unix的权限位:参考:http://www.ibm.com/developerworks/cn/aix/library/au-speakingunix4  

golang 文件操作的更多相关文章

  1. Golang文件操作整理

    基本操作 文件创建 创建文件的时候,一定要注意权限问题,一般默认的文件权限是 0666 关于权限的相关内容,具体可以参考鸟叔p141 这里还是再回顾下,文件属性 r w x r w x r w x,第 ...

  2. golang文件操作

    一.读写文件 1.读文件操作 os.File 封装所有文件相关操作 例子: package main import ( "fmt" "os" "io/ ...

  3. GO语言的进阶之路-Golang字符串处理以及文件操作

    GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...

  4. golang中的文件操作

    一.文件的基本介绍 文件是数据源(保存数据的地方)的一种,比如经常使用的word文档,txt文件,excel文件都是文件.文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音等等. ...

  5. Golang字符串处理以及文件操作

    一.整数 1.int与uint的初值比较以及其大小. 1 /* 2 #!/usr/bin/env gorun 3 @author :xxxx 4 Blog:http://www.cnblogs.com ...

  6. golang基础知识之文件操作

    读取文件所有内容以及获得文件操作对象 package mainimport ( "bufio" "fmt" "io" "io/io ...

  7. golang之终端操作,文件操作

    终端操作 操作终端相关的文件句柄常量os.Stdin:标准输入os.Stdout:标准输出os.Stderr:标准错误输出 关于终端操作的代码例子: package main import " ...

  8. Golang: 读写之外的其他文件操作

    在上一篇文章中,我们介绍了常用的文件读写操作,今天接着来研究一下,除了读写以外的其他常见文件操作. 一.创建目录: package main import ( "fmt" &quo ...

  9. golang 之文件操作

    文件操作要理解一切皆文件. Go 在 os 中提供了文件的基本操作,包括通常意义的打开.创建.读写等操作,除此以外为了追求便捷以及性能上,Go 还在 io/ioutil 以及 bufio 提供一些其他 ...

随机推荐

  1. Jquery与CSS选择器参考手册

  2. 菜单导航/URHere/面包屑,通过CSS中的content简洁表达代码

    比如我们要写一个菜单导航/URHere/面包屑,如: 首页 > 个人中心 > 修改密码 代码: <ul> <li><a href="javascri ...

  3. 输出MYSQL所有SQL语句

    在my.cnf中的mysqld段增加如下参数,然后重启MYSQL: log-output = FILE general_log = 1 general_log_file = "D:/Visu ...

  4. could not build module 'XXXXXXXX'或者error: expected identifier or '(' 。一堆奇怪的错误————错误根源

    一堆奇怪的错误:1⃣️could not build module 'XXXXXXXX' 2⃣️error: expected identifier or '(' 3⃣️EDIT Setting Pr ...

  5. 安装了简易版XP系统后不能安装IIS的解决办法

    第一步 找到C:\WINDOWS\inf文件夹中的sysoc.inf文件,在 [Components]区域中的NetOC=netoc.dll,NetOcSetupProc,netoc.inf,,7和c ...

  6. 【Excel】宏之初认识

    出于提高效率的原因,希望excel能够不需要人为干预的完成一些操作,学习excel宏的编写与调试: 第一列输入公式,第二类输出计算结果:(如果自动获取文件的行数,待补充) Sub Calc() a = ...

  7. GridView导出excel格式问题

    在导出的点击事件中,代码如下: //指定导出对应单元格为文本样式 string style = @"<style> .test { vnd.ms-excel.numberform ...

  8. VS 2015 ,与Github的小问题笔记

    2016.10.15 1:从Git.OSChina(Github)上,下载的项目代码 在配置完Remote Url后只能提取数据,却无法拉取原因. 原因:未采用Remote分支创建本地分支. 决解: ...

  9. OKHttp

    以前学习android知识时 不怎么总结 以后学到的知识尽量多反思 相信"学而不思则惘.思而不学则怠"这句话  希望未来的日子 快乐的生活 快乐的编码!第一遍博文总结一下OKHtt ...

  10. MAC按键以及快捷键

    使用普通的非Mac自带的键盘的同志们,想要在Mini Mac上面想要使用键盘,则推荐使用Mac系统自带的虚拟键盘,这样就可以查看普通键盘上每个键对应的Mac系统上是什么. 查看Mac系统上的虚拟键盘的 ...