I'm currently reading ASCII data from a serial port using the bufio.Scanner (since what's coming back is a line at a time, it's convenient w/ reading using the Scanner.Text()). Problem is, the for loop I use to process the reads lock at the Scanner.Scan() call. Is there a to implement some for loop that utilized the scanner while utilizing a timeout?
I've tried: for { select { case <- time.After(time.Second * 3): response <- &Response{ Error: fmt.Errorf("command call took to long for a response"), } break default: myScanner.Scan() if myScanner.Text() == "OK" { response <- &Response{ Content: []responseLines, } break } responseLines = append(responseLines, myScanner.Text()) } } Of course, after looking at it... it makes sense why it's not working as the loop locks at myScanner.Scan() if there is nothing further to Scan. Any help or examples would be appreciated. -- 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.