擅长:python、mysql、java
<p>当您将字符串切片以获取子字符串时,会生成副本。例如:</p>
<pre><code>[value, nBytes] = unpackVarInt(self.binaryStr[pos:])
</code></pre>
<p>这将创建一个从索引<code>pos</code>到结尾的字符串副本,对于一个长字符串,这可能需要一些时间。如果可以在使用子字符串之前确定实际需要的字节数,然后使用<code>self.binaryStr[pos:pos+nBytes]</code>,这会更快,因为获取一个小的子字符串相对比较快。在</p>
<p>请注意,时间只取决于子串的长度,因此无论<code>self.binaryStr[pos:pos+4]</code>的长度如何,<code>self.binaryStr[pos:pos+4]</code>所花的时间应该大致相同。在</p>