前提・実現したいこと
go言語のfile操作について勉強していて以下のような疑問が生じたので教えていただきたいです。
該当のソースコード
golang
1 2package mai 3 4import ( 5 "os" 6 "log" 7 "fmt" 8) 9 10func main() { 11 data := make([]byte, 100) 12 file, err := os.Open("test.txt") 13 if err != nil { 14 log.Fatal(err) 15 } 16 defer file.Close() 17 18 count, err := file.Read(data) 19 if err != nil { 20 log.Fatal(err) 21 } 22 23 out := make([]byte, count) 24 for _, v := range data[:count] { 25 out = append(out, v) 26 } 27 fmt.Printf("%v\n", data[:count]) 28 fmt.Printf("%v\n", out) 29 return 30}
text
1this is sample file that is read by main.go.
zsh
1% go run main.go 2[116 104 105 115 32 105 115 32 115 97 109 112 108 101 32 102 105 108 101 32 116 104 97 116 32 105 115 32 114 101 97 100 32 98 121 32 109 97 105 110 46 103 111 46] 3[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 104 105 115 32 105 115 32 115 97 109 112 108 101 32 102 105 108 101 32 116 104 97 116 32 105 115 32 114 101 97 100 32 98 121 32 109 97 105 110 46 103 111 46]
疑問点
go run main.go
で出力されたスライスoutの0~43番目まで0が続いていると思うのですが、このように0が含まれる原因は何でしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。