golang - 调用函数的时候加不加* 有什么区别?
本文介绍了golang - 调用函数的时候加不加* 有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
package main
import "flag"
import "fmt"
func main() {
test := "shit"
var fuck *string
// 这么调用 test就永远是默认值
test = *flag.String("a", "default", "test flag args")
// 这么调用 fuck就会变成-a 参数的值
fuck = flag.String("a", "default", "test flag args")
//
fmt.Println(*fuck)
fmt.Println(test)
}
调用函数的时候 这个*有什么区别?
为啥行为会不一样? *不就是个取值符么?
解决方案
我自己的问题
值在flag.parse() 时候改变,所以*提前取值了,是不会变的
这篇关于golang - 调用函数的时候加不加* 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文