1
+ package main
2
+
3
+ import (
4
+ "bytes"
5
+ "encoding/binary"
6
+ "fmt"
7
+ )
8
+
9
+ func main () {
10
+ //newBuffer 整形转换成字节
11
+ var n int = 10000
12
+ intToBytes := IntToBytes (n )
13
+ fmt .Println ("==========int to bytes========" )
14
+ fmt .Println (intToBytes )
15
+ //NewBufferString
16
+ TestBufferString ()
17
+ //write
18
+ BufferWrite ()
19
+ //WriteString
20
+ BufferWriteString ()
21
+ //WriteByte
22
+ BufferWriteByte ()
23
+ //WriteRune
24
+ BufferWriteRune ()
25
+
26
+ }
27
+
28
+
29
+ func IntToBytes (n int ) []byte {
30
+ x := int32 (n )
31
+ //创建一个内容是[]byte的slice的缓冲器
32
+ //与bytes.NewBufferString("")等效
33
+ bytesBuffer := bytes .NewBuffer ([]byte {})
34
+ binary .Write (bytesBuffer , binary .BigEndian , x )
35
+ return bytesBuffer .Bytes ()
36
+ }
37
+
38
+ func TestBufferString (){
39
+ buf1 := bytes .NewBufferString ("swift" )
40
+ buf2 := bytes .NewBuffer ([]byte ("swift" ))
41
+ buf3 := bytes .NewBuffer ([]byte {'s' ,'w' ,'i' ,'f' ,'t' })
42
+ fmt .Println ("===========以下buf1,buf2,buf3等效=========" )
43
+ fmt .Println ("buf1:" , buf1 )
44
+ fmt .Println ("buf2:" , buf2 )
45
+ fmt .Println ("buf3:" , buf3 )
46
+ fmt .Println ("===========以下创建空的缓冲器等效=========" )
47
+ buf4 := bytes .NewBufferString ("" )
48
+ buf5 := bytes .NewBuffer ([]byte {})
49
+ fmt .Println ("buf4:" , buf4 )
50
+ fmt .Println ("buf5:" , buf5 )
51
+ }
52
+
53
+ func BufferWrite (){
54
+ fmt .Println ("===========以下通过Write把swift写入Learning缓冲器尾部=========" )
55
+ newBytes := []byte ("swift" )
56
+ //创建一个内容Learning的缓冲器
57
+ buf := bytes .NewBuffer ([]byte ("Learning" ))
58
+ //打印为Learning
59
+ fmt .Println (buf .String ())
60
+ //将newBytes这个slice写到buf的尾部
61
+ buf .Write (newBytes )
62
+ fmt .Println (buf .String ())
63
+ }
64
+
65
+ func BufferWriteString (){
66
+ fmt .Println ("===========以下通过Write把swift写入Learning缓冲器尾部=========" )
67
+ newString := "swift"
68
+ //创建一个string内容Learning的缓冲器
69
+ buf := bytes .NewBufferString ("Learning" )
70
+ //打印为Learning
71
+ fmt .Println (buf .String ())
72
+ //将newString这个string写到buf的尾部
73
+ buf .WriteString (newString )
74
+ fmt .Println (buf .String ())
75
+ }
76
+
77
+ func BufferWriteByte (){
78
+ fmt .Println ("===========以下通过WriteByte把swift写入Learning缓冲器尾部=========" )
79
+ var newByte byte = '!'
80
+ //创建一个string内容Learning的缓冲器
81
+ buf := bytes .NewBufferString ("Learning" )
82
+ //打印为Learning
83
+ fmt .Println (buf .String ())
84
+ //将newString这个string写到buf的尾部
85
+ buf .WriteByte (newByte )
86
+ fmt .Println (buf .String ())
87
+ }
88
+
89
+ func BufferWriteRune (){
90
+ fmt .Println ("===========以下通过WriteRune把\" 好\" 写入Learning缓冲器尾部=========" )
91
+ var newRune = '好'
92
+ //创建一个string内容Learning的缓冲器
93
+ buf := bytes .NewBufferString ("Learning" )
94
+ //打印为Learning
95
+ fmt .Println (buf .String ())
96
+ //将newString这个string写到buf的尾部
97
+ buf .WriteRune (newRune )
98
+ fmt .Println (buf .String ())
99
+ }
0 commit comments