Go 终端读写 && 文件读写

终端读写

操作终端相关文件句柄常量

  • os.Stdin(standard):标准输入
  • os.Stdout:标准输出
  • os.Stderr:标准错误输出

标准输出

demo:直接输出和 判断之后输出的结果不一致

func main(){
	//标准输出接口, 格式, 需要格式化的内容
	fmt.Fprintf(os.Stdout, "%s\n", "hello world ~")

	fmt.Fprintln(os.Stdout, "hello, world ~")
}

运行结果:
hello world ~
hello, world ~

标准输入

package main
import (
	"fmt"
)

var (
	firstName, lastName string
	age, salary int
	)

func main(){
	//从键盘获取string类型赋值给fistName
	fmt.Scanf("%s", &firstName)

	//将字符串赋值给lastName, 中间不能空格
	fmt.Sscan("helloworld", &lastName)

	//将一个字符串按照指定格式赋值给变量
	fmt.Sscanf("18-3000", "%d-%d", &age, &salary)

	fmt.Printf("%s\n%s\n%d\n%d", firstName, lastName, age, salary)
}

运行结果:
"holle go"  //手动输入,有空格不行
"holle
helloworld
18
3000

  

带缓存的输出

package main
import (
	"bufio"
	"fmt"
	"os"
)

func main(){
	//先得到*Write缓存
	buf := bufio.NewWriter(os.Stdout)

	//标准输出接口, 格式, 需要格式化的内容
	fmt.Fprintf(buf, "%s\n", "hello world ~")

	fmt.Fprintln(buf, "hello, world ~")

	buf.Flush()
}

运行结果:
hello world ~
hello, world ~

  

带缓存的输入

package main
import (
	"bufio"
	"fmt"
	"os"
)

func main(){
	buf := bufio.NewReader(os.Stdin)

	input, err := buf.ReadString(‘\n‘)  //delim 定界符
	if err == nil {
		fmt.Println(input)
	}
}

运行结果:
hello world  //手动输入
hello world

  

文件读写

os.File 封装了文件相关的操作,前面提到的 os.Stdin,os.Stdout,os.Stderr 都是 *os.File

  • 打开一个文件进行读操作:os.Open(filePath string) (*File, error)
  • 关闭一个文件:File.Close()

读取一个文件

package main
import (
	"bufio"
	"fmt"
	"io"
	"os"
)

func readFile(){
	readFile, err := os.Open("D:\\golang_workspace\\project\\src\\godev\\终端读写 && 文件读写\\05_读取一个文件\\test.txt")
	if err != nil{
		fmt.Println("open file failed, err is %v", err)
	}
	defer readFile.Close()

	fileReader := bufio.NewReader(readFile)

	for {
		line, err := fileReader.ReadString(‘\n‘)
		if err == io.EOF {
			break
		}
		fmt.Print(line)
	}
}

func main(){
	readFile()
}

运行结果:
。。。

  

原文地址:https://www.cnblogs.com/kaichenkai/p/11117574.html

时间: 2024-08-29 17:10:21

Go 终端读写 && 文件读写的相关文章

Lua读写文件

文件读写 文件读写对制作游戏很有帮助.可以调用别的文件中的代码,保存最高分.游戏存档.玩家状态等信写到文件中. 首先,让我们看一个简单的命令:dofile.这个命令会读入另一个文件的代码并立即执行. 代码: dofile("./test.lua") 很简单的命令.注意 ./ 是指根目录,不是子目录.如果是子目录,应该这样用: 代码: dofile("./files/test.lua") 那么,如果我们的文件 test.lua 包含下述代码: 代码: playerx

C/C++文件读写操作总结

本文主要从两方面介绍读写文件操作,一个是C,另一个是C++. 一.基于C的文件操作. 在ANSI C中对文件操作有两种方式,一种是流式文件操作,另一种是I/O文件操作.下面分别介绍. 1.流式文件操作. 流式文件操作有一个重要的结构FILE, FILE是在stdio.h中定义: typedef struct { int level; unsigned flags; char fd; unsigned char hold; int bsize; unsigned char _FAR *buffer

处理Python2.7读写文件中的中文乱码问题

1.设置默认编码 在Python代码中的任何地方出现中文,编译时都会报错,这时可以在代码的首行添加相应说明,明确utf-8编码格式,可以解决一般情况下的中文报错.当然,编程中遇到具体问题还需具体分析啦. #encoding:utf-8 或者 # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') # 设置默认编码格式为'utf-8' 2.文件读写 文件读写中遇到中文,通常不会报错,但是最后运行结果

Python模块、字符编码、文件读写

模块 当我们用一种语言开始真正的软件开发室,除了编写代码外,还需要很多基本的已经写好的现成的东西,高级语言通常都会为我们提供了一个比较完善的基础代码库,让我们能直接调用,python也不例外,为我们提供了分成完善的基础代码和第三方库.在python中一个.py文件就是一个模块. 模块导入使用import 获取随机数模块 调用系统命令 把执行脚本时传递的参数获取到了 当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错,默认情况下,Python解释器会搜

linux shell 之终端读写文件数据流和重定向>,<,<<,>>

终端实现文件中数据流的读写: 重定向命令列表如下: 命令 说明 command > file 将输出重定向到 file.将终端数据写到文件file中 command < file 将输入重定向到 file.将文件 command >> file 将输出以追加的方式重定向到 file. n > file 将文件描述符为 n 的文件重定向到 file. n >> file 将文件描述符为 n 的文件以追加的方式重定向到 file. n >& m 将输出文

Go(day7 [终端读写| 文件操作 | 命令行参数 | Json序列化])

终端读写 操作终端相关文件句柄常量 os.Stdin:标准输入 os.Stdout:标准输出 os.Stderr:标准错误输出 终端读写示例: //Sscanf 是从变量中读取值 package main import "fmt" var ( firstName,lastName ,s string i int f float32 input = "56.12 / 5212 / Go" format  = "%f/%d/%s" ) func ma

iOS-Senior1-数据处理(文件读写)

1.Model的数据层的理解       1.1沙盒基础 沙盒定义:每个iOS应用程序都会为自己创建一个文件系统目录(文件夹),这个独立,封闭,安全的空间,叫做沙盒. 沙盒特点: 沙盒的文件夹及各个文件夹的作用   查找沙盒的两个方式: 1.点击finder -> 前往(左上角)- > 按住alt键  -> 资源库 -> Developer -> CoreSimulator -> (目标文件夹) 2.搜索 -> 终端 -> 命令行: 显示:defaults

Python 之文件读写操作

Python 读写文件:   1.打开文件 使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示: 使用到的模式(mode)有: r    以渎方式打开文件,可读取文件信息 w    以血方式打开文件,可向文件写入信息.如果文件存在,则清空文件内容,在写入内容. a    以追加模式打开文件(一打开文件,文件指针自动移动到文件末尾),如果文件不存在则创建 r+    以读方式打开文件,可对文件执行读去和写入的操作 w+

perl5 第五章 文件读写

第五章 文件读写 by flamephoenix 一.打开.关闭文件二.读文件三.写文件四.判断文件状态五.命令行参数六.打开管道 一.打开.关闭文件   语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径.    open(FILE1,"file1");    open(FILE1, "/u/jqpublic/file1");  打开