Go中fmt.Println()和println()有什么区别?何时使用哪个?
大家好!我刚开始学习Go,注意到控制台输出既可以用`fmt.Println()`,也可以用`println()`。例如,这两种方式都有效:
```go
package main
func main() {
fmt.Println("你好,世界!")
println("你好,世界!")
}
```
但我发现大多数示例和教程都使用`fmt.Println()`。而`println()`也在标准库中(或者它是内建函数?)。让我困惑的是:
1. 使用`fmt.Println()`需要导入`fmt`包,而`println()`无需导入即可使用。
2. `fmt.Println()`能输出复杂数据类型(切片、结构体),而`println()`似乎也能。
3. 但我听说`println()`不是“纯正”的Go,不推荐在生产中使用。
请解释一下区别?何时该用`fmt.Println()`,何时可以用`println()`?有什么陷阱吗?为什么这么多示例都用