zoukankan      html  css  js  c++  java
  • 这种实现方式比使用 += 要更节省内存和 CPU,尤其是要串联的字符串数目特别多的时候。

    这种实现方式比使用 += 要更节省内存和 CPU,尤其是要串联的字符串数目特别多的时候。

    package main
    
    import (
    	"bytes"
    	"fmt"
    )
    
    func main() {
    	a := [...]string{"a", "b", "c"}
    	var buffer bytes.Buffer
    	for _, v := range a {
    		buffer.WriteString(v)
    	}
    	str := buffer.String()
    	fmt.Println(str)
    	buffer.Reset()
    	str = buffer.String()
    	fmt.Println(str)
    	fmt.Println("343")
    
    	for _, v := range a {
    		buffer.WriteString(v)
    	}
    	buffer.Truncate(2)
    	str = buffer.String()
    	fmt.Println(str)
    
    	for _, v := range a {
    		buffer.WriteString(v)
    	}
    	buffer.Truncate(0)
    	str = buffer.String()
    	fmt.Println(str)
    }
    
    // Reset resets the buffer to be empty,
    // but it retains the underlying storage for use by future writes.
    // Reset is the same as Truncate(0).
    func (b *Buffer) Reset() {
    b.buf = b.buf[:0]
    b.off = 0
    b.lastRead = opInvalid
    }



  • 相关阅读:
    Jooq基本操作
    SpringcloudStream简单使用
    SpringcloudBus消息总线
    RabbitMQ集群
    Springboot整合RabbitMQ
    RabbitMQ死信队列与延迟队列
    RabbitMQ事务性消息和确认模式
    公链简介
    公链简介
    Windows生产力工具推荐
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9620572.html
Copyright © 2011-2022 走看看