在Go中显示分页小部件

在Go中显示分页小部件,go,web,go-html-template,go-http,Go,Web,Go Html Template,Go Http,我在Go中使用HTML模板来呈现分页小部件。我试着从这里举一个例子来说明如何做到这一点: 这是我目前的代码: //项目大小类似于数据库中的调用2项目 var pagesize=2 变量分页大小int=6 变分激活字符串 分页:=make([]int,分页大小) 对于i:=0;i

我在Go中使用HTML模板来呈现分页小部件。我试着从这里举一个例子来说明如何做到这一点:

这是我目前的代码:

//项目大小类似于数据库中的调用2项目
var pagesize=2
变量分页大小int=6
变分激活字符串
分页:=make([]int,分页大小)
对于i:=0;i<分页大小;i++{
如果请求页码请检查下一个解决方案

package main

import (
    "fmt"
)

const PSIZE = 5

func pager(pageNo int) {
    var start int = pageNo/(PSIZE-1)*(PSIZE-1) + 1
    if pageNo%(PSIZE-1) == 0 {
        start -= PSIZE - 1
    }

    for i := start; i < start+PSIZE; i++ {
        if i == pageNo {
            fmt.Printf("(%d) ", i)
        } else {
            fmt.Printf("%d ", i)
        }
    }
    fmt.Print("\n")
}

func main() {
    pager(4)
    pager(8)
    pager(9)
}
检查下一个解决方案

package main

import (
    "fmt"
)

const PSIZE = 5

func pager(pageNo int) {
    var start int = pageNo/(PSIZE-1)*(PSIZE-1) + 1
    if pageNo%(PSIZE-1) == 0 {
        start -= PSIZE - 1
    }

    for i := start; i < start+PSIZE; i++ {
        if i == pageNo {
            fmt.Printf("(%d) ", i)
        } else {
            fmt.Printf("%d ", i)
        }
    }
    fmt.Print("\n")
}

func main() {
    pager(4)
    pager(8)
    pager(9)
}

(2), 3, 4, 5, 6, 7
7, 8, 9, 10, 11, 12 ,13 ,14
package main

import (
    "fmt"
)

const PSIZE = 5

func pager(pageNo int) {
    var start int = pageNo/(PSIZE-1)*(PSIZE-1) + 1
    if pageNo%(PSIZE-1) == 0 {
        start -= PSIZE - 1
    }

    for i := start; i < start+PSIZE; i++ {
        if i == pageNo {
            fmt.Printf("(%d) ", i)
        } else {
            fmt.Printf("%d ", i)
        }
    }
    fmt.Print("\n")
}

func main() {
    pager(4)
    pager(8)
    pager(9)
}
1 2 3 (4) 5 
5 6 7 (8) 9 
(9) 10 11 12 13