Add String methods for structures
This commit is contained in:
parent
bb9e317fa7
commit
a854dd0618
45
asv.go
45
asv.go
@ -4,6 +4,7 @@ package asv
|
|||||||
import "io"
|
import "io"
|
||||||
import "bufio"
|
import "bufio"
|
||||||
import "strings"
|
import "strings"
|
||||||
|
import "strconv"
|
||||||
|
|
||||||
// Collection is composed of Files.
|
// Collection is composed of Files.
|
||||||
type Collection []File
|
type Collection []File
|
||||||
@ -16,6 +17,50 @@ type Record []Unit
|
|||||||
// Unit is an element of a record.
|
// Unit is an element of a record.
|
||||||
type Unit string
|
type Unit string
|
||||||
|
|
||||||
|
func (collection Collection) String () string {
|
||||||
|
builder := strings.Builder { }
|
||||||
|
builder.WriteString("Collection { ")
|
||||||
|
for index, file := range collection {
|
||||||
|
if index > 0 { builder.WriteString(", ") }
|
||||||
|
builder.WriteString(file.String())
|
||||||
|
}
|
||||||
|
builder.WriteString(" }")
|
||||||
|
return builder.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (file File) String () string {
|
||||||
|
builder := strings.Builder { }
|
||||||
|
builder.WriteString("File { ")
|
||||||
|
for index, group := range file {
|
||||||
|
if index > 0 { builder.WriteString(", ") }
|
||||||
|
builder.WriteString(group.String())
|
||||||
|
}
|
||||||
|
builder.WriteString(" }")
|
||||||
|
return builder.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (group Group) String () string {
|
||||||
|
builder := strings.Builder { }
|
||||||
|
builder.WriteString("Group { ")
|
||||||
|
for index, record := range group {
|
||||||
|
if index > 0 { builder.WriteString(", ") }
|
||||||
|
builder.WriteString(record.String())
|
||||||
|
}
|
||||||
|
builder.WriteString(" }")
|
||||||
|
return builder.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (record Record) String () string {
|
||||||
|
builder := strings.Builder { }
|
||||||
|
builder.WriteString("Record { ")
|
||||||
|
for index, unit := range record {
|
||||||
|
if index > 0 { builder.WriteString(", ") }
|
||||||
|
builder.WriteString(strconv.Quote(string(unit)))
|
||||||
|
}
|
||||||
|
builder.WriteString(" }")
|
||||||
|
return builder.String()
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Escape rune = '\x1B'
|
Escape rune = '\x1B'
|
||||||
FileSeparator rune = '\x1C'
|
FileSeparator rune = '\x1C'
|
||||||
|
Loading…
Reference in New Issue
Block a user