Golang,添加项目并返回带有随机字符串的新结构

标签 go

我正在尝试弄清楚如何在 golang 中设置基本端点。我有一个调用,它接受一个有效负载并将其添加到列表中(现在在内存中)。以前它只是返回它获得的确切有效载荷。我希望它返回一个带有随机生成的字符串的新 json 对象。这是它最初的样子:

在我的 repo.go 中

func RepoCreateActivity(t Activity) Activity {
    activities = append(activities, t)
    return t
} 

这很好用。但是我想用随机生成的字符串返回一个不同的对象,这是我试过的

在我的 repo.go 中(随机字符串函数来自一些谷歌搜索 - https://siongui.github.io/2015/04/13/go-generate-random-string/)

 func RandomString(strlen int) string {
    rand.Seed(time.Now().UTC().UnixNano())
    const chars = "abcdefghijklmnopqrstuvwxyz0123456789"
    result := make([]byte, strlen)
    for i := 0; i < strlen; i++ {
        result[i] = chars[rand.Intn(len(chars))]
    }
    return string(result)
}

func RepoCreateActivity(t Activity) ActivityReturn {
    activities = append(activities, t)
    b := ActivityReturn({Cgid: RandomString(10)})
    return b
}

actvitityReturn.go 看起来像:

package main

type ActivityReturn struct {
    Cgid   string   `json:"cgid"`
}

我似乎无法做到这一点。我只想让电话返回一个 { cgid:“此处为随机字符串”}。我仍在努力学习 golang,任何建议将不胜感激。谢谢!

最佳答案

我认为您可能错误地创建了结构。你能试试这个吗?

func RepoCreateActivity(t Activity) ActivityReturn {
    activities = append(activities, t)
    b := ActivityReturn{Cgid: RandomString(10)} // remove parens
    return b
}

关于Golang,添加项目并返回带有随机字符串的新结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38226450/

相关文章:

其他包中未定义 html/template 类型的 Golang 全局变量

http - 从 golang 中的 reader.io 对象获取属性

Golang (Go) AES CBC 密文由于某种原因被填充了 16 个 0x00 字节

戈朗 : Get underlying struct having the fields name as a string

go - 如何通过 go syscall 设置系统日期和时间

go - 将 Spanner 行字段解码为嵌套结构golang

json - Go 中的面向对象 - 结构/组合/封装

json - 将具有 JSON 数组的 JSON 对象解码为结构

sql - 在函数内引用打开的数据库连接 - Golang

mongodb - Golang 从 MongoDB 的嵌套 json 数据映射中找到一个值