func handle2FA(authCode string, authChan chan Auth.AuthStageResult, bot *Auth.EvernoteAuthBot) { log.Print("getting 2fa") go bot.HandleTwoFactor(authCode, authChan) select { case result := <-authChan: if result.Error != nil { handleErrors(result.Error, result.ErrorAssocObject) } else { // Pass 2FA, go to get access allowAccess(authChan, bot) } } }