小编gyu*_*asf的帖子

Go 中的旋转数组

这是 LeetCode 问题:189. 旋转数组

给定一个数组,将数组向右旋转 k 步,其中 k 为非负数。

示例1:

输入:[1,2,3,4,5,6,7] 且 k = 3
输出:[5,6,7,1,2,3,4]

这是我的解决方案:

func rotate(nums []int, k int)  {
    k = k % len(nums)
    nums = append(nums[k:],nums[0:k]...)
    fmt.Println(nums)
}
Run Code Online (Sandbox Code Playgroud)

这是一个简单的算法,但它不起作用。

我是围棋新手。我想nums是按值传递的,并且更改nums不会影响真实的nums.

我怎样才能做到这一点?

go slice

6
推荐指数
1
解决办法
8392
查看次数

内存中的sqlite“没有这样的表”错误

我正在使用内存中的sqlite,如下所示。

func init() {
    global.ConductorConfig = readConfig()
    log.Println(utils.GetCurrentDir() + global.ConductorConfig.DbFile)
    //db = sqlx.MustConnect("sqlite3", utils.GetCurrentDir()+global.ConductorConfig.DbFile)
    db = sqlx.MustConnect("sqlite3", ":memory:")
    db.Exec(schema)
    task:=model.Task{}
    SaveTask(&task)
    db.MapperFunc(func(s string) string {
        return s
    })
}
Run Code Online (Sandbox Code Playgroud)

在我的主函数中,我创建了表

if global.ConductorConfig.DevMode {
    db.CreateTables()
}
go job.HeartbeatJob()
go job.TaskClearJob()
app.Action = func(c *cli.Context) error {
    ListenAndServe()
    return nil
}
Run Code Online (Sandbox Code Playgroud)

然后我在 http 处理程序函数中“没有这样的表”。

existed, err := db.GetAgentByServerName(agent.ServerName)
if err != nil {
    c.JSON(http.StatusBadRequest, err)
    log.Println("[conductor] error occurred when get agent by server name: " + err.Error())
    return err
}


func GetAgentByServerName(name …
Run Code Online (Sandbox Code Playgroud)

database sqlite locking go

6
推荐指数
2
解决办法
2839
查看次数

标签 统计

go ×2

database ×1

locking ×1

slice ×1

sqlite ×1