Skip to content

qw20012/go-basic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-basic

  • Package basic provides some utility functions.
  • Package str provides some utilities to manipulate string.
  • Package arr provides some utilities to manipulate array.
  • Package ref provides some utilities to manipulate reflect.

Install

go get github.com/qw20012/go-basic

Usage

basic.FromAny

Get the exact value of any.

	var anyMap = map[string]any{"1": 1}

	if FromAny[int](anyMap["1"]) != 1 {
		t.Fatalf("TestFromAny failed")
	}

basic.NewIfEmpty

Make sure any type is created. Create by reflect if it is not there.

	var emptyAnyMap map[string]any
	fromEmptyAnyMap := basic.NewIfEmpty(emptyAnyMap)
	if fromEmptyAnyMap == nil {
		t.Fatalf("GetOrCreate with emtpy map failed")
	}
	fromEmptyAnyMap["key"] = 1

str.Empty

Represents the emptry string.

	if str.Empty != "" {
		t.Fatal("IsEmpty failed")
	}

str.IsEmpty

Identify whether the source string is empty.

	if IsEmpty("abc") {
		t.Fatal("IsEmpty failed " + "abc")
	}

str.IsNotEmpty

Identify whether the source string is empty.

	if !IsNotEmpty("abc") {
		t.Fatal("IsNotEmpty failed" + "abc")
	}

str.Contact

Contact the sources from any type.

	twoDiffType := Contact("abc", 1)
	if twoDiffType != "abc1" {
		t.Fatal("TestContact failed " + "abc, 1")
	}

str.From

Convert to string from any type.

	f := From(1.123)
	if f != "1.123" {
		t.Fatal("From failed " + "1.123")
	}

str.Format

Format source string that instead given name in curly brackets by given value.

	diffTypeValue := Format("abc {name}", "name", 1)
	if diffTypeValue != "abc 1" {
		t.Fatal("TestFormat failed " + "abc, 1 ")
	}

str.Formats

Format source string by calling Format functon. See also Format.

	strFromMap := Formats("{a}{ b }c", diffTypeValue)
	if strFromMap != "Dog1c" {
		t.Fatal("TestFormats failed " + "Dog1c")
	}

arr.Contains

Identify whether the given array contians the given element.

	var aArray = [3]int{1, 2, 3}
	if !Contains(aArray[:], 2) {
		t.Fatalf("TestContains failed")
	}

ref.GetValue

Get the exact value of given reflect.Value.

	if GetValue[int](reflect.ValueOf(1)) != 1 {
		t.Fatalf("TestGetValue with int type failed")
	}

ref.IsNil

Identify whether the any type is nil.

	var emptyArray [1]int
	if basic.IsNil(emptyArray) {
		t.Fatalf("GetOrCreate with emtpy slice failed")
	}

ref.IsZero

Identify whether the any type is zero.

	var emptyArray [1]int
	if !IsZero(emptyArray) {
		t.Fatalf("TestIsZero with emtpy slice failed")
	}

Contributing

PRs accepted.

License

BSD-style © Barret Qin

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages