fmt.scanln expectation
Ao usar fmt.scanln em go, pode -se encontrar o erro: "fmt.scanln esperado newline. Compreender esse erro e suas implicações é crucial para depurar e escrever código robusto. Da entrada padrão, tratar as linhas de novo como caracteres espaciais. Isso significa que continuará analisando a entrada até que todos os argumentos sejam preenchidos ou ocorra um erro. Por outro lado, o fmt.scanln também lê a partir de entrada padrão, mas espera um caractere de nova linha como ponto de terminação. Qualquer entrada depois disso não será analisada. A entrada inclui um caractere de nova linha, que aciona o fim da entrada para fmt.scanln. No entanto, os caracteres de entrada subsequentes "Everybody Loves Ice Cream" ainda estão presentes e são consumidos pelo FMT.Scan subsequente. Isso causa o erro, pois o fmt.scan espera uma nova linha no final da entrada. , considere usar o método readstring do bufio.reader:
importar "bufio" func main () { Leitor: = bufio.newReader (os.stdin) linha, err: = leitor.readstring ('\ n') }
conclusão
compreendendo os comportamentos distintos de fmt.scan e fmt.scanln é importante para evitar erros e escrever código que alinhe com as expectativas. Ao ler uma linha de texto, alternativas como Bufio.Reader e ReadString fornecem soluções mais explícitas e eficientes.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3