Call function in loop

(Scorpiour) #1


I’m a new arrival of golang. Recently when I write something, I meet a weird problem that, the code written like
> // scanFunc is a closure

	for pos := scanFunc(list[beg:end]) ; middle != pos ; pos = scanFunc(list[beg:end]) {
            fmt.Printf("Scan %v, %v, result %v\n",beg,end,pos)
  if middle < pos {
  	end = pos + 1
  	beg = pos
  middle = ( beg + end  ) / 2


causes an extremely long time to compile before running, and the debug info are not printed.

I suppose that my because golang expand the function call during compile time, then the value of beg and end are fixed but not computed real-time, but I’m not sure about that.

Does anybody have some idea about that?

(Jakob Borg) #2

Never heard of something like that. Post a full example, and the steps you take to compile? If that’s not what you’re doing already, use go install.

(system) #3

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.