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

go实现词法分析器

笔记  Go 

package mainimport ("bufio""fmt""os""unicode")var keywords = map[string]int{"begin": 1,"if"

Go 接口

笔记  Go 

Go 接口接口定义Go语言提倡面向接口编程。指针接收者实现接口package mainimport "fmt"// 接口定义type USB interface {Connect()Disconnect()}type Laptop struct {name stringve