在Go语言中生成KSUID返回字符串的方法是:

huangapple go评论117阅读模式
英文:

ksuid genration return string in go

问题

我正在使用以下函数生成字节格式的ksuid,但我希望它以字符串格式返回ksuid。

我尝试返回id.String()的值,但是我得到以下错误:
错误:
无法将id.String()(类型为string的值)用作返回语句中的id_return值。

我希望它将返回的字符串值分配给变量,如下所示(使用字符串而不是字节):
var id_gen string = genKsuid()

type id []byte

type id_return string

func genKsuid() id {
	id, err := ksuid.NewRandomWithTime(time.Now())
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("ksuid:     %s\n", id.String())
	return id.Bytes()
}

var id_gen string = string(genKsuid())
英文:

I am using below function to generate ksuid in byte format but i need it to return ksuid in string format.

I tried returning id.string() value but i am getting below error
error:
cannot use id.String() (value of type string) as id_return value in return statement.

I would like it to assign the return string value like below (string instead of byte)
var id_gen string = genKsuid()

type id []byte

type id_return string

func genKsuid() id {
	id, err := ksuid.NewRandomWithTime(time.Now())
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("ksuid:     %s\n", id.String())
	return id.Bytes()
}

var id_gen []byte = genKsuid()

答案1

得分: 0

将你的函数改为:

func genKsuid() string {
    id, err := ksuid.NewRandomWithTime(time.Now())
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("ksuid:     %s\n", id.String())
    return id.String()
}
英文:

Change your function to

func genKsuid() string {
    id, err := ksuid.NewRandomWithTime(time.Now())
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("ksuid:     %s\n", id.String())
    return id.String()
}

huangapple
  • 本文由 发表于 2022年8月30日 04:43:51
  • 转载请务必保留本文链接:https://go.coder-hub.com/73534458.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定