分享
Golang写的web分页
jiangxuanyi · · 4269 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
* 自己最近在学习Golang重写一些公司以前的JAVA MVC程序,刚刚毕业,周边又没有做过这个,所以只能苦逼的摸索,希望大神么 ,多多给写建议。
* github: [JiangXuanYi](https://github.com/JiangXuanYi/util.git)
```go
// main.go
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
// var arrayInt []int = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
// arr, err := paging(1, 55, arrayInt)
// fmt.Println("arr:", arr, "err:", err)
}
func paging(page_element_start int, page_size int, array []int) ([]int, string) {
// var arrayErr []int
var arraySlice []int
pageEnd := page_size + page_element_start - 1
switch {
case page_element_start > len(array):
return arraySlice, "初始元素位置大于查询数组长度"
case page_element_start+page_size-1 > len(array):
arraySlice = array[page_element_start-1 : len(array)]
return arraySlice, "已经到了最后一页"
// case page_size > len(array):
// arraySlice = array
case page_element_start < len(array) && page_element_start+page_size-1 <= len(array) && page_size <= len(array):
arraySlice = array[page_element_start-1 : pageEnd]
return arraySlice, ""
}
return arraySlice, "未知情况"
}
func paging_map_interface(page_element_start int, page_size int, array []map[string]interface{}) ([]map[string]interface{}, string) {
// var arrayErr []int
arraySlice := []map[string]interface{}{}
pageEnd := page_size + page_element_start - 1
switch {
case page_element_start > len(array):
return arraySlice, "初始元素位置大于查询数组长度"
case page_element_start+page_size-1 > len(array):
arraySlice = array[page_element_start-1 : len(array)]
return arraySlice, "已经到了最后一页"
// case page_size > len(array):
// arraySlice = array
case page_element_start < len(array) && page_element_start+page_size-1 <= len(array) && page_size <= len(array):
arraySlice = array[page_element_start-1 : pageEnd]
return arraySlice, ""
}
return arraySlice, "未知情况"
}
```
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信4269 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
* 自己最近在学习Golang重写一些公司以前的JAVA MVC程序,刚刚毕业,周边又没有做过这个,所以只能苦逼的摸索,希望大神么 ,多多给写建议。
* github: [JiangXuanYi](https://github.com/JiangXuanYi/util.git)
```go
// main.go
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
// var arrayInt []int = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
// arr, err := paging(1, 55, arrayInt)
// fmt.Println("arr:", arr, "err:", err)
}
func paging(page_element_start int, page_size int, array []int) ([]int, string) {
// var arrayErr []int
var arraySlice []int
pageEnd := page_size + page_element_start - 1
switch {
case page_element_start > len(array):
return arraySlice, "初始元素位置大于查询数组长度"
case page_element_start+page_size-1 > len(array):
arraySlice = array[page_element_start-1 : len(array)]
return arraySlice, "已经到了最后一页"
// case page_size > len(array):
// arraySlice = array
case page_element_start < len(array) && page_element_start+page_size-1 <= len(array) && page_size <= len(array):
arraySlice = array[page_element_start-1 : pageEnd]
return arraySlice, ""
}
return arraySlice, "未知情况"
}
func paging_map_interface(page_element_start int, page_size int, array []map[string]interface{}) ([]map[string]interface{}, string) {
// var arrayErr []int
arraySlice := []map[string]interface{}{}
pageEnd := page_size + page_element_start - 1
switch {
case page_element_start > len(array):
return arraySlice, "初始元素位置大于查询数组长度"
case page_element_start+page_size-1 > len(array):
arraySlice = array[page_element_start-1 : len(array)]
return arraySlice, "已经到了最后一页"
// case page_size > len(array):
// arraySlice = array
case page_element_start < len(array) && page_element_start+page_size-1 <= len(array) && page_size <= len(array):
arraySlice = array[page_element_start-1 : pageEnd]
return arraySlice, ""
}
return arraySlice, "未知情况"
}
```