我正在阅读 Go 编程语言书籍(由 Donovan 和 Kernighan 撰写)及其示例 echo1 ,他们说:“这是一个二次过程,如果参数的数量很大,可能代价高昂,但对于 echo,这不太可能”。二次过程是什么意思?如果参数数量很大,它的成本如何?
谢谢。
最佳答案
一般来说,二次是指与平方数有关的东西。在这种情况下,这意味着过程成本与输入大小的平方成正比。这是因为字符串是使用 +=
运算符连接的,这在 Go 中是昂贵的,因为字符串是不可变的,每次连接时都必须在内存中创建一个新字符串。连接字符串的更有效方法包括写入 bytes.Buffer
并将其转换为字符串,或使用 strings.Join
函数
关于go - 什么是二次过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41705138/