For 루프 없이 Go에서 정수 값을 어떻게 읽을 수 있나요?

Barbara Streisand
풀어 주다: 2024-10-30 05:30:28
원래의
887명이 탐색했습니다.

How Can I Read Integer Values in Go Without a For Loop?

Golang에서 정수 값을 효율적으로 읽기

표준 입력에서 정수 값 집합을 읽고 기존 입력을 사용하지 않고 슬라이스에 저장하려면 for 루프의 경우 최적화된 접근 방식을 사용할 수 있습니다.

재귀 함수를 사용한 솔루션

이 접근 방식은 시작 인덱스인 정수 슬라이스를 사용하는 재귀 함수 ReadN을 활용합니다. , 그리고 읽을 정수의 수입니다. 연속적인 재귀 호출을 통해 효율적으로 슬라이스에 정수를 할당합니다.

샘플 코드:

<code class="go">package main

import "fmt"

func main() {
    fmt.Println(`Enter the number of integers`)
    var n int
    if m, err := Scan(&n); m != 1 {
        panic(err)
    }
    fmt.Println(`Enter the integers`)
    all := make([]int, n)
    ReadN(all, 0, n)
    fmt.Println(all)
}

func ReadN(all []int, i, n int) {
    if n == 0 {
        return
    }
    if m, err := Scan(&all[i]); m != 1 {
        panic(err)
    }
    ReadN(all, i+1, n-1)
}

func Scan(a *int) (int, error) {
    return fmt.Scan(a)
}</code>
로그인 후 복사

빠른 입력 검색

더 빠른 입력 스캔을 위해 사용자 정의 스캔 기능을 보다 효율적인 대안으로 교체하세요.

<code class="go">func Scan(a *int) (int, error) {
    return fmt.Scanf("%d\n", a)
}</code>
로그인 후 복사

샘플 입력 및 출력:

Enter the number of integers
3
Enter the integers
10 20 30
[10 20 30]
로그인 후 복사

이것은 최적화되었습니다. 솔루션은 for 루프의 오버헤드 없이 표준 입력에서 정수를 읽는 효율적인 방법을 제공합니다.

위 내용은 For 루프 없이 Go에서 정수 값을 어떻게 읽을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!