代码拉取完成,页面将自动刷新
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
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。