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() 时候改变,所以*提前取值了,是不会变的