program story

배열 값을 인쇄하는 방법

inputbox 2020. 10. 14. 07:47
반응형

배열 값을 인쇄하는 방법


배열에있는 값을보고 싶습니다. 어떻게 인쇄 할 수 있습니까?

projects []Project  

go fmt%v, %+v또는 %#v동사를 사용해 볼 수 있습니다 .

fmt.Printf("%v", projects)

배열 (또는 여기 slice )에 struct(같은 Project) 가 포함되어 있으면 세부 정보가 표시됩니다.
정밀도를 %#v높이기 위해 리터럴과 같이 Go 구문을 사용하여 객체를 인쇄하는 데 사용할 수 있습니다 .

%v  the value in a default format.
    when printing structs, the plus flag (%+v) adds field names
%#v a Go-syntax representation of the value

기본 유형의 경우 fmt.Println(projects)충분합니다.


참고 : 포인터 조각의 경우, 즉 []*Project(대신 []Project) String()원하는 것을 정확히 표시하기 위해 메서드를 정의하는 것이 좋습니다 (또는 포인터 주소 만 표시됨).
play.golang 예제를 참조하십시오 .


의 경우 []string다음을 사용할 수 있습니다 strings.Join().

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
// output: foo, bar, baz

나는 fmt.Printf("%+q", arr)어느 것을 인쇄할지 선호한다

["some" "values" "list"]

https://play.golang.org/p/XHfkENNQAKb


대괄호없이 배열의 값만보고 싶다면 fmt.Sprint()조합을 사용할 수 있습니다.strings.Trim()

a := []string{"a", "b"}
fmt.Printf(strings.Trim(fmt.Sprintf(a), "[]")
fmt.Printf(a)

보고:

a b
[a b]

이 솔루션을 사용하면 첫 번째 값에서 모든 선행 대괄호가 손실되고 마지막 값에서 모든 후행 대괄호가 손실됩니다.

a := []string{"[a]", "[b]"}
fmt.Printf(strings.Trim(fmt.Sprintf(a), "[]")
fmt.Printf(a)

보고:

a] [b
[[a] [b]]

자세한 내용은 strings.Trim () 설명서를 참조하십시오.


fmt.Printf()괜찮지 만 때로는 예쁜 인쇄 패키지 를 사용하고 싶습니다 .

import "github.com/kr/pretty"
pretty.Print(...)

참고 URL : https://stackoverflow.com/questions/24489384/how-to-print-the-values-of-arrays

반응형