加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang(7):文件读写 & 错误处理

发布时间:2020-12-16 09:22:50 所属栏目:大数据 来源:网络整理
导读:终端读写 操作终端相关文件句柄常量 os.Stdin // 标准输入 os.Stdout // 标准输出 (输出到终端) os.Stderr // 标准错误输出 (输出到终端) fmt 常见用法 fmt.Scanln(firstName,lastName) // 从终端读取字符串(以空格分隔) fmt.Scanf( " %s %s " ,firstN

终端读写

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

os.Stdin        // 标准输入
os.Stdout        // 标准输出 (输出到终端)
os.Stderr        // 标准错误输出 (输出到终端)

fmt 常见用法

fmt.Scanln(&firstName,&lastName)                // 从终端读取字符串(以空格分隔)
fmt.Scanf("%s %s",&firstName,&lastName)        // 作用同 fmt.Scanln(),但 fmt.Scanf() 既能读取字符串也能读取数字

fmt.Printf("Hi %s %s!n",firstName,lastName)    // 格式化输出
fmt.Sscanf(input,format,&f,&i,&s)            // 从字符串中格式化读入(第一个参数表示要读取的字符串,第二个参数表示读取格式,后面的参数表示赋给哪些变量)

示例代码:

package main

import "fmt"

type Student struct{
    Name string
    Age int
    Score float64
}

func main(){
    var s = "stu01 age is 18 score is 95.5"
    var stu Student
    
    fmt.Sscanf(s,"%s age is %d score is %f",&stu.Name,&stu.Age,&stu.Score)    // 变量要传入地址
    fmt.Println(stu)
}

// 运行结果:
[[email?protected] example01_Sscanf]# go run main/main.go
{stu01 18 95.5}
[[email?protected] example01_Sscanf]# 

带缓冲区的读写:

示例代码:(从标准输入中读取

package main

import (
    "bufio"
    "os"
    "fmt"
)

func main(){
    reader := bufio.NewReader(os.Stdin)        // go 的 struct 没有构造函数,所以 bufio 包中自己写了一个构造函数 NewReader,回一个 Reader实现的指针;bufio.NewReader() 需要传入一个 io.Reader 接口,这个接口中吸有一个 Read() 方法,而 os.Stdin 也实现 Read() 方法,即实现了 io.Reader 这个接口

    fmt.Println("pls input:")
    str,err := reader.ReadString(n)        // 带缓存区的读取; ReadString() 中的参数是 byte 形式的 分隔符,所以要用 单引
    if err != nil {
        fmt.Println("read string failed:",err)
        return
    }

    fmt.Printf("read string success,str: %sn",str)
}

// 运行结果:
[[email?protected] example02_bufio01]# go run main/main.go
pls input:
i am neo
read string success,str: i am neo

[[email?protected] example02_bufio01]# 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读