关于regexp.FindStringSubmatch的内存分配与内存共享问题
regexp.FindStringSubmatch 内存相关问题解答
1. 是否会分配内存?
会。regexp.FindStringSubmatch会为存储匹配结果的切片分配内存,同时创建指向原字符串的子串引用,但不会复制原字符串的底层字节数据。
2. 返回切片中的字符串是否与传入的字符串共享内存?
是的。Go 中字符串是不可变的字节序列,该函数返回的每个匹配字符串都是原输入字符串的子引用,它们共享原字符串的底层字节数组,不会额外占用内存存储重复的字节数据。只有当你将这些子串转换为可变的字节切片并修改时,才会触发内存复制。
内容的提问来源于stack exchange,提问作者ceving
相关产品推荐
相关产品推荐

