Go语言打印进度

笔记  Go 

就是一直刷新当前行package mainimport ("fmt""time")func main() {// 模拟一些操作,比如循环计数for i := 0; i <= 100; i++ {// 返回到行首fmt.Print("\r&quo

Go 错误处理

笔记  Go 

panic,recover在 Go 语言中,panic 和 recover 是用于处理程序错误和恢复的两个关键机制。panic:panic 是一个内建函数,用于表示程序发生了无法处理的错误。当发生 panic 时,程序会立即停止执行当前函数的剩余代码,并开始在调用栈中向上逐层执行 deferred

Go gob

笔记  Go 

介绍Go的gob是Go语言标准库中的一种序列化/反序列化格式,主要用于在编码和解码时传输和存储Go数据结构。Gob格式专为Go语言设计,提供了一种高效的二进制编码方式,特别适合在网络通信和文件存储中使用。以下是Go的gob包的一些关键特性和使用方法:特性高效的二进制编码:Gob格式比JSON和XML

Go json解码和编码

笔记  Go 

vcard.gopackage vcardimport ("time")type Address struct {Street stringHouseNumber uint32HouseNumberAddOn stringPOBox

go 缓冲区例题

笔记  Go 

下面的代码有一个输入文件 goprogram,然后以每一行为单位读取,从读取的当前行中截取第 3 到第 5 的字节写入另一个文件。然而当你运行这个程序,输出的文件却是个空文件。找出程序逻辑中的 bug,修正它并测试。package mainimport ("bufio""

go flag库使用

笔记  Go 

使用详情见https://pkg.go.dev/flaghttps://www.liwenzhou.com/posts/Go/flag/例子写一个模拟git命令的package mainimport ("flag""fmt""os")fun

go读取练习

笔记  Go 

练习 12.1: word_letter_count.go编写一个程序,从键盘读取输入。当用户输入 ‘S’ 的时候表示输入结束,这时程序输出 3 个数字:i) 输入的字符的个数,包括空格,但不包括 ‘\r’ 和 ‘\n’ii) 输入的单词的个数iii) 输入的行数// Q28_word_letter

go实现递归下降分析器

笔记  Go 

package mainimport ("bufio""fmt""os""strings")var (str []bytepointer interror_str string = "

Go数组和切片练习

笔记  Go 

Go数组和切片练习数组练习1:证明当数组赋值时,发生了数组内存拷贝。package mainimport "fmt"func main() {arr1 := new([5]int)arr2 := arr1arr2[1] = 3fmt.Println(arr1) //&[0

利用channel和go的exec包调用系统命令

笔记  Go 

package mainimport ("bufio""fmt""os/exec")func main() {cmd := exec.Command("ls", "-l")// Create a pi