前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go语言分页

go语言分页

原创
作者头像
用户1623964
修改2021-06-15 11:10:03
3390
修改2021-06-15 11:10:03
举报
文章被收录于专栏:python模块python模块
代码语言:javascript
复制
package main
import (
    "fmt"
    "strconv"
)
func main() {
    fmt.Println("Hello, World!")
    var page=pagestr("http://www.abc.com?",195,11,10,8)
    fmt.Println(page)
}
//url连接,countdatas表数据总行数,currentpage第几页(0是第一页),everpage每页多少行,beforlaterln前后长度
func pagestr(url string,countdatas int,currentpage int,everpage int,beforlaterln int) string {
    var page= ""
    var intpart = countdatas / everpage //整数
    //fmt.Println("intpart")
    //fmt.Println(intpart)
    var remainderpart = countdatas%everpage //余数
    var countpage = intpart //取整数
    if(currentpage<0){ currentpage = 0 } else {currentpage = currentpage}
    if(remainderpart==0){
        if(currentpage>(countpage-1)){ currentpage = countpage-1 } else {currentpage = currentpage}
        var pp=currentpage+1
            var strbe=""
            var pagebefore=pp-beforlaterln-1
            for i := pp; i > pagebefore; i-- {
                if(i>0 && i<pp){
                    strbe = "<a class='num' href='"+url+"&p="+strconv.Itoa((i-1))+"'>"+strconv.Itoa((i))+"</a>"+strbe
                }
            }
            if(pp<=1){strbe=""}else{strbe="<a class='num' href='"+url+"&p=0'>首页</a>"+"<a class='num' href='"+url+"&p="+strconv.Itoa((pp-2))+"'>上一页</a>"+strbe}
            var strmid = "<span class='current'>"+strconv.Itoa(pp)+"</span>"
            var strlater = ""
            var pagelater = pp+beforlaterln
            for i := pp; i < pagelater; i++ {
                if(i<countpage){
                    strlater+="<a class='num' href='"+url+"&p="+strconv.Itoa(i)+"'>"+strconv.Itoa((i+1))+"</a>";
                }
            }

            if(pp>=countpage){}else{strlater+="<a class='num' href='"+url+"&p="+strconv.Itoa(pp)+"'>下一页</a>"+"<a class='num' href='"+url+"&p="+strconv.Itoa((countpage-1))+"'>尾页</a>"}
            page=strbe+strmid+strlater;
    }else{
        countpage+=1;//总页数
        if(currentpage>(countpage-1)){ currentpage = countpage-1 } else {currentpage = currentpage}
        var pp=currentpage+1
        var strbe=""
        var pagebefore=pp-beforlaterln-1
        for i := pp; i > pagebefore; i-- {
            if(i>0 && i<pp){
                strbe = "<a class='num' href='"+url+"&p="+strconv.Itoa((i-1))+"'>"+strconv.Itoa((i))+"</a>"+strbe
            }
        }
        if(pp<=1){strbe=""}else{strbe="<a class='num' href='"+url+"&p=0'>首页</a>"+"<a class='num' href='"+url+"&p="+strconv.Itoa((pp-2))+"'>上一页</a>"+strbe}
        var strmid = "<span class='current'>"+strconv.Itoa(pp)+"</span>"
        var strlater = ""
        var pagelater = pp+beforlaterln
        for i := pp; i < pagelater; i++ {
            if(i<countpage){
                strlater+="<a class='num' href='"+url+"&p="+strconv.Itoa(i)+"'>"+strconv.Itoa((i+1))+"</a>";
            }
        }

        if(pp>=countpage){}else{strlater+="<a class='num' href='"+url+"&p="+strconv.Itoa(pp)+"'>下一页</a>"+"<a class='num' href='"+url+"&p="+strconv.Itoa((countpage-1))+"'>尾页</a>"}
        page=strbe+strmid+strlater;
    }
    return  "共"+strconv.Itoa(countpage)+"页"+page
}

运行后得到一下字符串

代码语言:javascript
复制
共20页<a class='num' href='http://www.abc.com?&p=0'>首页</a>
<a class='num' href='http://www.abc.com?&p=10'>上一页</a>
<a class='num' href='http://www.abc.com?&p=3'>4</a>
<a class='num' href='http://www.abc.com?&p=4'>5</a>
<a class='num' href='http://www.abc.com?&p=5'>6</a>
<a class='num' href='http://www.abc.com?&p=6'>7</a>
<a class='num' href='http://www.abc.com?&p=7'>8</a>
<a class='num' href='http://www.abc.com?&p=8'>9</a>
<a class='num' href='http://www.abc.com?&p=9'>10</a>
<a class='num' href='http://www.abc.com?&p=10'>11</a>
<span class='current'>12</span>
<a class='num' href='http://www.abc.com?&p=12'>13</a>
<a class='num' href='http://www.abc.com?&p=13'>14</a>
<a class='num' href='http://www.abc.com?&p=14'>15</a>
<a class='num' href='http://www.abc.com?&p=15'>16</a>
<a class='num' href='http://www.abc.com?&p=16'>17</a>
<a class='num' href='http://www.abc.com?&p=17'>18</a>
<a class='num' href='http://www.abc.com?&p=18'>19</a>
<a class='num' href='http://www.abc.com?&p=19'>20</a>
<a class='num' href='http://www.abc.com?&p=12'>下一页</a>
<a class='num' href='http://www.abc.com?&p=19'>尾页</a>

希望对大家有帮助,谢谢!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档