实际上我只是开始学习golang。一开始,我认为=和:=相同。但是后来我知道两者之间有些区别。
我在golnag中学习了交换功能
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用var此功能重写此功能时不起作用
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
var a, b string
a ="hello"
b="world"
swap(a, b)
fmt.Println(a, b)
}
Run Code Online (Sandbox Code Playgroud)
这个程序有什么错误?
另一个解决方案是使用指针:
package main
import "fmt"
func swap(x, y *string) {
*x, *y = *y, *x
}
func main() {
var a, b string
a ="hello"
b="world"
swap(&a, &b)
fmt.Println(a, b)
}
Run Code Online (Sandbox Code Playgroud)
https://play.golang.org/p/-vxUMlaVmN
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |