Help us shape the future of Go! Take the 2026 Go Developer Survey

gxstrings

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

http://blog.csdn.net/siddontang/article/details/23541587 reflect.StringHeader和reflect.SliceHeader的结构体只相差末尾一个字段(cap) vitess代码,一种很hack的做法,string和slice的转换只需要拷贝底层的指针,而不是内存拷贝。

2016/09/28 Package gxstrings implements string related utilities.

2016/09/23 Package gxstrings implements string related utilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ArrayRemoveAt

func ArrayRemoveAt(a interface{}, i int)

code example: output: // data len: 2 , cap: 3 , data: [one two] // data2 len: 2 , cap: 3 , data: [1 3]

data := []string{"one", "two", "three"} ArrayRemoveAt(&data, 2) fmt.Println("data len:", len(data), ", cap:", cap(data), ", data:", data)

data2 := []int{1, 2, 3} ArrayRemoveAt(&data2, 1) fmt.Println("data2 len:", len(data2), ", cap:", cap(data2), ", data:", data2)

func BytePointer

func BytePointer(b []byte) unsafe.Pointer

returns &b[0], which is not allowed in go

func Contains

func Contains(s []string, e string) bool

func IsNil added in v0.3.0

func IsNil(i interface{}) bool

func RandStringBytesMaskImprSrc

func RandStringBytesMaskImprSrc(n int) string

func Slice

func Slice(s string) (b []byte)

func String

func String(b []byte) (s string)

func StringLength

func StringLength(s string) int

get utf8 character numbers

func StringPointer

func StringPointer(s string) unsafe.Pointer

returns &s[0], which is not allowed in go

Types

type Builder added in v0.3.0

type Builder struct {
	// contains filtered or unexported fields
}

A Builder is used to efficiently build a string using Write methods. It minimizes memory copying. The zero value is ready to use. Do not copy a non-zero Builder.

func (*Builder) Buffer added in v0.3.0

func (b *Builder) Buffer() []byte

String returns the accumulated buffer.

func (*Builder) Grow added in v0.3.0

func (b *Builder) Grow(n int)

Grow grows b's capacity, if necessary, to guarantee space for another n bytes. After Grow(n), at least n bytes can be written to b without another allocation. If n is negative, Grow panics.

func (*Builder) Len added in v0.3.0

func (b *Builder) Len() int

Len returns the number of accumulated bytes; b.Len() == len(b.String()).

func (*Builder) Reset added in v0.3.0

func (b *Builder) Reset()

Reset resets the Builder to be empty.

func (*Builder) String added in v0.3.0

func (b *Builder) String() string

String returns the accumulated string.

func (*Builder) Write added in v0.3.0

func (b *Builder) Write(p []byte) (int, error)

Write appends the contents of p to b's buffer. Write always returns len(p), nil.

func (*Builder) WriteByte added in v0.3.0

func (b *Builder) WriteByte(c byte) error

WriteByte appends the byte c to b's buffer. The returned error is always nil.

func (*Builder) WriteRune added in v0.3.0

func (b *Builder) WriteRune(r rune) (int, error)

WriteRune appends the UTF-8 encoding of Unicode code point r to b's buffer. It returns the length of r and a nil error.

func (*Builder) WriteString added in v0.3.0

func (b *Builder) WriteString(s string) (int, error)

WriteString appends the contents of s to b's buffer. It returns the length of s and a nil error.

type UUID

type UUID [16]byte

func NewUUID

func NewUUID() *UUID

create a new uuid v4

func (*UUID) HexString

func (u *UUID) HexString() string

func (*UUID) String

func (u *UUID) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL