标签:取整 i++ hello mode perm ror 函数 package efi
import ("fmt""bufio""os")
func main() {var s stringreader := bufio.NewReader(os.Stdin)fmt.Printf("输入>> ")s,_ = reader.ReadString(‘\n‘)fmt.Println(s)}
func main() {
// 只读方式打开当前目录下的main.go文件.返回*File,err
file, _ := os.Open("./main.go") // 打开失败err!=nil
// 关闭文件
defer file.Close()
//var tmp = make([]byte, 128)
for{
var tmp [128]byte
n, err := file.Read(tmp[:]) // n为读到的字节数n=128,读取失败err!=nil,每次读128byte
// fmt.Println(string(tmp[:n])) // 读到的内容在tmp切片中
fmt.Println(n) // 每次循环读到的字节数
if err == io.EOF{
return
}
}
}
import (
"bufio"
"fmt"
"io"
"os"
)// bufio按行读取示例
func main() {
file, _ := os.Open("./main.go") // _为err
defer file.Close()
reader := bufio.NewReader(file)
for {
line, err := reader.ReadString(‘\n‘) // 注意line是字符, err != nil读取错误
fmt.Print(line)
if err == io.EOF { // 读完了,再继续读,会出错err==io.EOF
break
}
}
}
package main
import (
"fmt"
"io/ioutil"
)
func main() {
content, err := ioutil.ReadFile("./main.go")
fmt.Println(string(content))
}
os.OpenFile()函数能够以指定模式打开文件,从而实现文件写入相关功能。
func OpenFile(name string, flag int, perm FileMode) (*File, error) { // name:文件名,flag:打开文件的模式,perm:linux上的文件权限(755等)
...
}
flag:模式有以下几种:
os.O_WRONLY 只写
os.O_CREATE 创建文件
os.O_RDONLY 只读
os.O_RDWR 读写
os.O_TRUNC 清空
os.O_APPEND 追加
func main() {
file, err := os.OpenFile("xx.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666) //用逻辑或操作"|"实现不同的组合
defer file.Close()
str := "hello"
file.Write([]byte(str)) //写入字节切片数据
file.WriteString("hello boy") //直接写入字符串数据
}
func main() {
file, err := os.OpenFile("xx.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
defer file.Close()
writer := bufio.NewWriter(file)
for i := 0; i < 10; i++ {
writer.WriteString("hello boy\n") //将数据先写入缓存
}
writer.Flush() //将缓存中的内容写入文件
}
import (
"io/ioutil"
)
func main() {
str := "hello"
err := ioutil.WriteFile("./xx.txt", []byte(str), 0666)
}
标签:取整 i++ hello mode perm ror 函数 package efi
原文地址:https://www.cnblogs.com/staff/p/13226576.html