英文:
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()
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论