ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 标准设备文件 ~~~ os.Stdout.WriteString("are you ok ?") //os.Stdout.Close() //如果打开的话讲无法输出 fmt.Printf("hello") var a string fmt.Printf("请输入a: ") fmt.Scan(&a) fmt.Println(a) ~~~ ### WriteString的使用 ~~~ func WriteFile(path string) () { //打开文件,新建文件 f, err := os.Create(path) if err != nil { fmt.Println(err) return } //使用完毕,需要关闭文件 defer f.Close() var buf string for i := 0; i < 10; i++ { buf = fmt.Sprintf("i = %d\n", i) f.WriteString(buf) } } func main() { path := "./dome.txt" WriteFile(path) } ~~~ 在同级目录下新建了dome.txt文件 ~~~ i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 ~~~ ### Read的使用 ~~~ func WriteFile(path string) () { //打开文件,新建文件 f, err := os.Create(path) if err != nil { fmt.Println(err) return } //使用完毕,需要关闭文件 defer f.Close() var buf string for i := 0; i < 10; i++ { buf = fmt.Sprintf("i = %d\n", i) f.WriteString(buf) } } //按行读取 func ReadFileLine(path string) { //打开文件 f, err := os.Open(path) if err != nil { fmt.Println(err) return } //关闭文件 defer f.Close() //新建一个缓冲区,把内容先放在缓冲区 r := bufio.NewReader(f) for { //遇到'\n'结束读取,但是'\n'也读取进入 buf, err := r.ReadBytes('\n') if err != nil { if err == io.EOF { //文件已经结束 break } fmt.Println(err) } fmt.Printf("%s",string(buf)) } } func main() { path := "./dome.txt" ReadFileLine(path) } ~~~ ~~~ i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 ~~~