在go语言中实现字符限制器功能示例代码
Go  /  管理员 发布于 2年前   298
在go语言中怎么把一个字符串限制为X个字符呢?
解决方法:
使用io.ReadAtLeast()函数从字符串中读取,但限制在X个字符之内。
代码示例:
package main
import (
"fmt"
"io"
"strings"
)
//将一个字符串限制为X个字符
func char_limiter(s string, limit int) string {
reader := strings.NewReader(s)
//以指定的字符数限制创建缓冲区
buff := make([]byte, limit)
n, _ := io.ReadAtLeast(reader, buff, limit)
if n != 0 {
//fmt.Printf("\n %s ", buff)
return string(buff) + "..."
} else {
//什么也没有发生,返回原始字符串
return s
}
}
func main() {
str := "ReadAtLeast reads from r into buf until it has read at least min bytes. It returns the number of bytes copied and an error if fewer bytes were read. The error is EOF only if no bytes were read. If an EOF happens after reading fewer than min bytes, ReadAtLeast returns ErrUnexpectedEOF. If min is greater than the length of buf, ReadAtLeast returns ErrShortBuffer. On return, n >= min if and only if err == nil."
fmt.Printf("原文 : [%s] \n", str)
//限于10个字符
fmt.Println("10个字符: ", char_limiter(str, 10))
//限于30个字符
fmt.Println("30个字符: ", char_limiter(str, 30))
//限于100个字符
fmt.Println("100个字符: ", char_limiter(str, 100))
}
输出:
原文:[ReadAtLeast reads from r into buf until it has read at least min bytes. It returns the number of bytes copied and an error if fewer bytes were read. The error is EOF only if no bytes were read. If an EOF happens after reading fewer than min bytes, ReadAtLeast returns ErrUnexpectedEOF. If min is greater than the length of buf, ReadAtLeast returns ErrShortBuffer. On return, n >= min if and only if err == nil.]
10个字符:ReadAtLeas...
30个字符:ReadAtLeast reads from r into...
100个字符:ReadAtLeast reads from r into buf until it has read at least min bytes. It returns the number of byt
相关文章
在go语言中实现字数限制器功能示例代码
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号