GO가 패키지를 반사하는 이유는 무엇입니까? 패키지 인쇄 구조가 정수 값으로 인쇄 된 이유는 무엇입니까?
GO reflect
패키지 인쇄 구조의 출력에 대한 심층 분석은 정수 값으로 패키지 인쇄
이 기사는 GO 언어의 reflect
패키지를 사용하여 구조를 인쇄 할 때 정수 결과 현상을 분석하고 일반적인 질문에 답변합니다.
예제 코드에서 reflect.ValueOf
. valueof 함수는 인터페이스 변수 age
(정수 25)의 값을 가져옵니다. 인쇄시 reflect.TypeOf(age)
(유형) 및 reflect.ValueOf(age)
(value), fmt.Println(t, v)
출력 int 25
. 이것은 간단한 정수 출력이 아닙니다. t
와 v
각각 유형과 값을 나타냅니다.
주요 질문 reflect.Value
다음 reflect.Type
같습니다. (2) fmt.Println(t, v)
이 int 25
출력하는 이유, 그리고 직접 인쇄하는 이유는 정수 값을 얻기 위해 reflect.Value
이유 25.
먼저, reflect.Value
reflect.Type
를 구현하지 않습니다. 타입 인터페이스. reflect.Type
GO 언어 유형 정보를 나타내고, reflect.Value
값은 변수의 값을 나타냅니다. 두 개념은 다릅니다. t
age
( int
)의 유형 정보를 가져 v
age
(25)의 가치를 얻습니다.
둘째, fmt
패키지의 특수 처리는 reflect.Value
유형이기 때문에 fmt.Println(t, v)
은 int 25
출력합니다. value 유형. fmt
의 print
시리즈 기능은 먼저 매개 변수가 유형의 reflect.Value
인지 확인합니다. value. 그렇다면, 반사. 값으로 직접 reflect.Value
으로 값으로 보유한 기본 값을 reflect.Value
구조 자체로 인쇄하십시오. 따라서 fmt.Println(v)
실제로 반사. reflect.Value
구조보다는 v
에 의해 보유 된 정수 값 25를 인쇄합니다. 이것은 구조처럼 보이는 변수가 인쇄되었지만 정수 값을 얻는 이유를 설명합니다.
fmt
패키지의 특수 처리 메커니즘을 이해하면 reflect.Value
와 fmt
패키지 간의 상호 작용을 명확하게 이해하고 코드의 모순 된 출력 결과를 설명하는 데 도움이됩니다. reflect.Value
구조 정보 자체가 아니라 보유하는 기본 값을 인쇄합니다.
위 내용은 GO가 패키지를 반사하는 이유는 무엇입니까? 패키지 인쇄 구조가 정수 값으로 인쇄 된 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go Language의 부동 소수점 번호 작동에 사용되는 라이브러리는 정확도를 보장하는 방법을 소개합니다.

Go Crawler Colly의 대기열 스레딩 문제는 Colly Crawler 라이브러리를 GO 언어로 사용하는 문제를 탐구합니다. � ...

GO의 어떤 라이브러리가 대기업이나 잘 알려진 오픈 소스 프로젝트에서 개발 했습니까? GO에 프로그래밍 할 때 개발자는 종종 몇 가지 일반적인 요구를 만납니다.

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...

Go Language의 문자열 인쇄의 차이 : println 및 String () 함수 사용 효과의 차이가 진행 중입니다 ...

골란드의 사용자 정의 구조 레이블이 표시되지 않으면 어떻게해야합니까? Go Language 개발을 위해 Goland를 사용할 때 많은 개발자가 사용자 정의 구조 태그를 만날 것입니다 ...

Go Language에서 메시지 대기열을 구현하기 위해 Redisstream을 사용하는 문제는 Go Language와 Redis를 사용하는 것입니다 ...

Go Pointer Syntax 및 Viper Library 사용의 문제 해결 GO 언어로 프로그래밍 할 때 특히 포인터의 구문 및 사용법을 이해하는 것이 중요합니다.
