1 Star 0 Fork 0

坐公交也用券/gf

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
read.go 2.40 KB
一键复制 编辑 原始数据 按行查看 历史
package gf
import (
"os"
)
// GetText 读取文件内容并存储到ApiReadScreen实例中。
// 该方法读取FileName指定的文件内容,将其转换为字符串并赋值给Text字段。
// 如果文件读取过程中发生错误,Err字段将被设置为相应的错误信息。
// 返回值始终为rs本身,以便进行错误检查或链式调用。
func (rs *ReadScreen) GetText() *ReadScreen {
// 初始化临时字节切片以存储文件内容。
var tmp []byte
// 重置错误状态,确保之前的错误不会影响当前操作。
rs.Err = nil
// 尝试读取文件内容到临时变量中,并检查是否有错误发生。
tmp, rs.Err = os.ReadFile(rs.FileName)
if rs.Err != nil {
// 如果发生错误,直接返回rs,Err字段已设置为相应的错误信息。
return rs
}
// 将读取到的字节切片转换为字符串并赋值给Text字段。
rs.Text = string(tmp)
// 保存原始文本内容,以供后续比较或使用。
rs.textOld = rs.Text
// 返回rs,此时Text字段已设置为文件内容,Err字段为nil。
return rs
}
// Line 读取指定行,首行: 1
func (rs *ReadScreen) Line(line int) *ReadScreen {
rs.han.Text = rs.Text
rs.han.Line(line)
rs.Text = rs.han.Text
rs.Err = rs.han.Err
rs.Slice = rs.han.Slice
return rs
}
// LineRange 读取指定范围行, 首行: 1
func (rs *ReadScreen) LineRange(start, end int) *ReadScreen {
rs.han.Text = rs.Text
rs.han.LineRange(start, end)
rs.Text = rs.han.Text
rs.Err = rs.han.Err
rs.Slice = rs.han.Slice
return rs
}
// Column 读取指定列, 首列: 1
func (rs *ReadScreen) Column(col int, sep string) *ReadScreen {
rs.han.Text = rs.Text
rs.han.Column(col, sep)
rs.Text = rs.han.Text
rs.Err = rs.han.Err
rs.Slice = rs.han.Slice
return rs
}
// ColumnRange 读取指定范围列, 首列: 1
func (rs *ReadScreen) ColumnRange(start, end int, sep string) *ReadScreen {
rs.han.Text = rs.Text
rs.han.ColumnRange(start, end, sep)
rs.Text = rs.han.Text
rs.Err = rs.han.Err
rs.Slice = rs.han.Slice
return rs
}
// Reset 重置 ReadScreen 实例的文本状态
// 该方法将 Text 和 han.Text 字段恢复到 textOld 的状态
// 主要用于在需要时将屏幕读取 API 的文本显示重置到初始或先前保存的状态
// 返回值是重置后的 *ReadScreen 实例,允许进行链式调用或进一步操作
func (rs *ReadScreen) Reset() *ReadScreen {
rs.han.Text = rs.textOld
rs.Text = rs.textOld
return rs
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/liumou_site/gf.git
git@gitee.com:liumou_site/gf.git
liumou_site
gf
gf
v1.3.5

搜索帮助