字符串是不可变的,这意味着,一旦创建它们就无法更改.
那么,这是否意味着如果你用+ =附加的东西比你创建一个StringBuffer并附加文本那么需要更多的内存?
如果你使用+ =,每次必须保存在内存中时你会创建一个新的'对象',不是吗?
从在线笔记中,我阅读了以下用于反转字符串的java代码片段,据称该字符串具有二次时间复杂度.在我看来,我的"for"循环只是迭代s的整个长度.它是如何导致二次时间复杂度的?
public static String reverse(String s)
{
String rev = new String();
for (int i = (s.length()-1); i>=0; i--) {
rev = rev.append(s.charAt(i));
}
return rev.toString();
}
Run Code Online (Sandbox Code Playgroud) RFC 7159说
JavaScript Object Notation(JSON)是用于结构化数据序列化的文本格式.
但Go将JSON视为 []byte
func Marshal(v interface{}) ([]byte, error)
func Unmarshal(data []byte, v interface{}) error
Run Code Online (Sandbox Code Playgroud)
为什么这些函数不能获取并返回string?
我在这里找不到任何解释 https://golang.org/pkg/encoding/json/ https://blog.golang.org/json-and-go