1
0
Fork 0
gilo/internal/gilo/buffer.go

51 lines
789 B
Go

package gilo
import (
"fmt"
"strings"
)
// ----------------------------------------------------------------------------
// !Output Buffer
// ----------------------------------------------------------------------------
type Buffer struct {
buf *strings.Builder
}
func NewBuffer() *Buffer {
var buf strings.Builder
b := new(Buffer)
b.buf = &buf
return b
}
func (b *Buffer) AppendRune(r rune) int {
size, _ := b.buf.WriteRune(r)
return size
}
func (b *Buffer) Append(s string) int {
size, _ := b.buf.WriteString(s)
return size
}
func (b *Buffer) AppendLn(s string) int {
str := fmt.Sprintf("%s\r\n", s)
size, _ := b.buf.WriteString(str)
return size
}
func (b *Buffer) ToString() string {
return b.buf.String()
}
func (b *Buffer) Len() int {
return b.buf.Len()
}