在go语言中实现字符限制器功能示例代码
Go  /  管理员 发布于 3年前   454
在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语言中实现字数限制器功能示例代码
test1 在
opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论 test..122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..Zita 在
Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论 111222..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
