Reputation: 12222
I'm trying to create some random int arrays and write it to a xyz.txt
file in Golang.
How to convert ids
which is an int
array to byte
array, as file.Write
accepts []byte
as a parameter. What is the correct way to achieve writing random integer arrays to a text file.
func main() {
var id int
var ids []int
var count int
f, err := os.Create("xyz.txt")
check(err)
defer f.Close()
for j := 0; j < 5; j++ {
count = rand.Intn(100)
for i := 0; i < product_count; i++ {
id = rand.Intn(1000)
ids = append(product_ids, product_id)
}
n2, err := f.Write(ids)
check(err)
fmt.Printf("wrote %d bytes\n", n2)
}
}
Upvotes: 1
Views: 5792
Reputation:
You may use fmt.Fprint
, as this simplified working sample:
package main
import (
"bufio"
"fmt"
"math/rand"
"os"
)
func main() {
f, err := os.Create("xyz.txt")
if err != nil {
panic(err)
}
defer f.Close()
w := bufio.NewWriter(f)
defer w.Flush()
for j := 0; j < 5; j++ {
count := 4 //count := rand.Intn(100)
for i := 0; i < count; i++ {
fmt.Fprint(w, rand.Intn(1000), " ")
}
fmt.Fprintln(w)
}
}
xyz.txt
output file:
81 887 847 59
81 318 425 540
456 300 694 511
162 89 728 274
211 445 237 106
Upvotes: 1