Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["style_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
)
go_library(
name = "go_default_library",
srcs = [
"param.go",
"style.go",
],
importpath = "go-common/app/tool/protoc-gen-bm/util",
tags = ["automanaged"],
visibility = ["//visibility:public"],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -0,0 +1,27 @@
package util
import (
"flag"
"fmt"
"strings"
)
// ParseParamSetFlag parse param from a=b,c=d
func ParseParamSetFlag(param string, fset *flag.FlagSet) (err error) {
if param == "" {
return nil
}
args := strings.Split(param, ",")
for _, arg := range args {
spec := strings.SplitN(arg, "=", 2)
if len(spec) == 2 {
err = fset.Set(spec[0], spec[1])
} else {
err = fset.Set(spec[0], "")
}
if err != nil {
return fmt.Errorf("set flag error: %s", err)
}
}
return nil
}

View File

@ -0,0 +1,34 @@
package util
// CamelCase convert to Camel-Case
func CamelCase(name string) string {
if len(name) == 0 {
return name
}
if name[0] == '_' {
return name
}
input := []byte(name)
ret := make([]byte, 0, len(input))
toUpper := func(c byte) byte {
if 'a' <= c && c <= 'z' {
c -= 32
}
return c
}
ret = append(ret, toUpper(input[0]))
underline := false
for _, c := range input[1:] {
switch {
case c == '_':
underline = true
default:
if underline {
c = toUpper(c)
}
ret = append(ret, c)
underline = false
}
}
return string(ret)
}

View File

@ -0,0 +1,32 @@
package util
import "testing"
func TestCamelCase(t *testing.T) {
type args struct {
name string
}
tests := []struct {
name string
args args
want string
}{
{
name: "test1",
args: args{name: "_test"},
want: "_test",
},
{
name: "test2",
args: args{name: "hello_world"},
want: "HelloWorld",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := CamelCase(tt.args.name); got != tt.want {
t.Errorf("CamelCase() = %v, want %v", got, tt.want)
}
})
}
}