--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/39ae6e9f-1c27-45cd-93c2-39a3b75cc6a3n%40googlegroups.com.
This won't compile
var ExtRegex = regexp.MustCompile("(M|m)(p|P)(3|4))|((F|f)(L|l)(A|a)(C|c))$")with a./prog.go:10:18: regexp.MustCompile("((M|m)(p|P)(3|4))|((F|f)(L|l)(A|a)(C|c))$") (value of type *regexp.Regexp) is not constant
whileconst pat = "((M|m)(p|P)(3|4))|((F|f)(L|l)(A|a)(C|c))$"
var ExtRegex = regexp.MustCompile(pat)Works fine.So, why can't the regexp be a constant?
Is there some state that is kept in the regexp.Regexp store?
And perhaps more importantly, what is the proper go style tohave a compiled regexp?
I could put the var statement outside all blocks, so its in effecta package variable. But I think having package variable is bad form.
I'm using the regexp in a loop for all the strings in all the files in a directory tree.I really don't want to compile them for ever pass thru the lines
ThanksPat
--
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/a5acd2a9-d0a7-4bd0-8712-13f5f0fbbbb6n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOXNBZR-bjiA3w%2BK4_fdTucRBO9LXXjQj28qzaJzmdVUDNGSJg%40mail.gmail.com.