在go语言中实现字符限制器功能示例代码
Go  /  管理员 发布于 1年前   180
在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语言中实现字数限制器功能示例代码
原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..博主 在
科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 @ mashrdn 多切换几个节点测试,免费ssr是没那么稳..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号