Golang 개발 과정에서 바이트 배열로 전송 및 저장하기 위해 정수형을 바이트형으로 변환해야 하는 경우가 종종 있습니다. 그 중 uint 유형은 가장 일반적으로 사용되는 정수 유형 중 하나입니다. 따라서 Golang 개발자가 단위 유형을 바이트로 변환하는 방법을 익히는 것은 매우 중요합니다. 이번 글에서는 golang에서 uint형을 byte형으로 변환하는 방법을 간략하게 소개하겠습니다.
1. 단위를 바이트 유형으로 변환
먼저 단위 유형과 바이트 유형의 기본 저장 방법을 이해해야 합니다. Golang에서 uint 유형은 8바이트의 메모리 공간을 차지하는 부호 없는 정수이고, 바이트 유형은 기본적으로 부호 없는 8비트 정수 유형인 별칭 유형입니다. 따라서 uint 유형을 byte 유형으로 변환하려면 uint 유형의 하위 8비트를 가로채야 합니다. 즉, uint 유형을 8비트 바이트 유형으로 변환해야 합니다.
Golang에서는 유형 어설션을 통해 uint 유형을 바이트 유형으로 변환할 수 있습니다. 구체적인 방법은 다음과 같습니다.
var n uint64 = 256 var b byte b = byte(n) fmt.Println(b) // 输出 0
위 코드에서 n 변수는 변환할 uint 유형 값을 나타내고, b 변수는 변환된 byte 유형 값을 나타냅니다. 코드의 세 번째 줄에서는 유형 어설션에 byte(n)을 사용하고 n을 바이트 유형으로 변환합니다. n의 값이 256, 즉 바이너리로 100000000이므로 바이트 타입의 값 범위(바이트 타입의 값 범위는 0~255)를 초과하므로 n의 하위 8비트만 취하고, 결과는 0입니다.
uint 유형은 uint8, uint16, uint32, uint64와 같은 부호 없는 정수 유형일 수 있습니다. uint 유형을 바이트 유형으로 변환하는 경우 이를 uint8 유형으로 변환한 다음 유형 어설션을 수행해야 합니다. 구체적인 코드는 다음과 같습니다.
var n uint16 = 256 var b byte b = uint8(n) fmt.Println(b) // 输出 0
위 코드에서 n 변수는 uint16 유형입니다. 바이트 유형으로 변환해야 하므로 먼저 uint8 유형으로 캐스팅한 후 유형 어설션을 수행해야 합니다.
2. 예제 데모
아래에서는 uint 유형을 byte 유형으로 변환하는 방법을 보여주는 실제 예제를 보여 드리겠습니다.
package mainimport ( "fmt" "encoding/binary")func main() { var n uint16 = 258 var b [2]byte binary.LittleEndian.PutUint16(b[:], n) fmt.Println(b) // 输出 [2 1]}
위 코드에서 변수 n은 uint16 유형이고 값은 258입니다. 변수 b는 변환된 바이트 데이터를 저장하는 데 사용되는 길이 2의 바이트 배열입니다. 코드 4번째 줄에서는 binary.LittleEndian.PutUint16() 함수를 사용하여 Uint16형 데이터 n을 바이트형 데이터로 변환하고 그 결과를 배열 b에 저장합니다. 첫 번째 매개변수 b[:]는 바이트 배열의 모든 요소를 나타냅니다. 여기서는 바이트 직렬화를 위해 little-endian을 사용합니다. 즉, 낮은 바이트는 앞쪽에 저장되고 높은 바이트는 뒤쪽에 저장됩니다. 258의 이진 표현은 0000000100000010, 하위 바이트는 00000010, 상위 바이트는 00000001이므로 변환된 결과는 [2,1]입니다.
3. 요약
위의 소개를 통해 Golang에서 uint 유형을 byte 유형으로 변환하는 방법에 대해 배웠습니다. 실제 개발 과정에서 바이트 단위의 데이터를 전송하고 저장해야 하는 경우가 많기 때문에 이 방법을 익히는 것은 매우 유용합니다. 유형 변환을 수행할 때 데이터 전송 및 저장 중 오류를 방지하려면 바이트 순서를 고려해야 합니다.
위 내용은 골랑 단위를 바이트로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 GO의 패키지 가져 오기 메커니즘을 설명합니다. 명명 된 수입 (예 : 가져 오기 & quot; fmt & quot;) 및 빈 가져 오기 (예 : import _ & quot; fmt & quot;). 명명 된 가져 오기는 패키지 내용을 액세스 할 수있게하고 빈 수입은 t 만 실행합니다.

이 기사에서는 웹 애플리케이션에서 페이지 간 데이터 전송에 대한 Beego의 NewFlash () 기능을 설명합니다. NewFlash ()를 사용하여 컨트롤러간에 임시 메시지 (성공, 오류, 경고)를 표시하여 세션 메커니즘을 활용하는 데 중점을 둡니다. 한계

이 기사에서는 MySQL 쿼리 결과를 GO 구조 슬라이스로 효율적으로 변환합니다. 수동 구문 분석을 피하고 최적의 성능을 위해 데이터베이스/SQL의 스캔 방법을 사용하는 것을 강조합니다. DB 태그 및 Robus를 사용한 구조물 필드 매핑에 대한 모범 사례

이 기사는 단위 테스트를 위해 이동 중에 모의와 스터브를 만드는 것을 보여줍니다. 인터페이스 사용을 강조하고 모의 구현의 예를 제공하며 모의 집중 유지 및 어설 션 라이브러리 사용과 같은 모범 사례에 대해 설명합니다. 기사

이 기사에서는 GO의 제네릭에 대한 사용자 정의 유형 제약 조건을 살펴 봅니다. 인터페이스가 일반 함수에 대한 최소 유형 요구 사항을 정의하여 유형 안전 및 코드 재사성을 향상시키는 방법에 대해 자세히 설명합니다. 이 기사는 또한 한계와 모범 사례에 대해 설명합니다

이 기사는 OS.WriteFile (작은 파일에 적합)과 OS.OpenFile 및 Buffered Writes (큰 파일에 최적)를 비교하여 효율적인 파일 쓰기를 자세히 설명합니다. 강력한 오류 처리, 연기 사용 및 특정 오류 확인을 강조합니다.

이 기사는 GO에서 단위 테스트 작성, 모범 사례, 조롱 기술 및 효율적인 테스트 관리를위한 도구를 다루는 것에 대해 논의합니다.

이 기사는 추적 도구를 사용하여 GO 응용 프로그램 실행 흐름을 분석합니다. 수동 및 자동 계측 기술, Jaeger, Zipkin 및 OpenTelemetry와 같은 도구 비교 및 효과적인 데이터 시각화를 강조합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

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

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

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