왁스 정렬 플라머 말론
이 기사는 GO 언어의 GIN 프레임 워크를 사용한 백엔드 개발에 대한 기본 지식을 소개합니다. 1. 라우팅 및 기본 요청 처리 : Get, Post 및 기타 방법을 통해 URL 및 처리 기능을 바인딩하고 매개 변수와의 라우팅을 지원합니다. 2. 미들웨어 사용 방법 : 로깅 및 기타 기능을위한 글로벌 미들웨어 및 라우팅 그룹 미들웨어를 지원합니다. 3. 데이터 바인딩 및 검증 : 구조 바인딩 함수를 제공하고 필드 검증 메커니즘을 지원합니다. 4. 정적 파일 및 템플릿 렌더링 : 정적 리소스 서비스 및 HTML 페이지 렌더링을 지원합니다.
Gin은 Go Language를 사용하여 백엔드 개발을위한 매우 인기있는 웹 프레임 워크입니다. 가볍고 성능이 우수하며 API에서 간단하고 사용하기 쉽습니다. 이는 특히 HTTP 서비스를 신속하게 구축하는 데 적합합니다. 진에 참여하기 시작한 경우이 자습서를 사용하면 기본부터 시작하여 간단한 웹 응용 프로그램을 단계별로 작성하게됩니다.

라우팅 및 기본 요청 처리
진의 주요 특징은 라우팅 정의가 매우 직관적이라는 것입니다. GET
, POST
등을 통해 URL 및 처리 기능을 빠르게 바인딩 할 수 있습니다.

패키지 메인 "github.com/gin-gonic/gin"가져 오기 func main () { r : = gin.default () r.get ( "/hello", func (c *gin.context) { C.json (200, gin.h { "메시지": "안녕하세요, 진!", }) }) R.Run ( ": 8080") }
위의 예는 포트 8080에서 청취하는 서비스를 시작하고 /hello
에 액세스하면 JSON 형식의 응답을 반환합니다.
경로에 매개 변수를 추가 할 수도 있습니다.
r.get ( "/user/: name", func (c *gin.context) { 이름 : = c.param ( "이름") C.string (200, "hello %s", 이름) })
이러한 방식으로 /user/tom
에 액세스하면 Hello tom
출력합니다.

미들웨어 사용 방법
GIN은 유지 관리 가능한 웹 서비스를 구축하는 열쇠 인 미들웨어 메커니즘을 지원합니다. 모든 요청 또는 일부 라우팅 그룹에 미들웨어를 추가 할 수 있습니다.
예를 들어, 요청 시간을 기록하는 간단한 미들웨어는 다음과 같이 작성할 수 있습니다.
func logger () gin.handlerfunc { return func (c *gin.context) { t : = time.now () c.next () 대기 시간 : = Time.since (t) log.printf ( "요청은 %v", 대기 시간) } }
그런 다음 주요 기능에 등록하십시오.
R.use (logger ())
인터페이스의 특정 부분에 대해이 로깅 기능 만 활성화하려면 라우팅 그룹을 사용하여 관리 할 수 있습니다.
API : = R.Group ( "/API") api.use (logger ()) { api.get ( "/data", func (c *gin.context) { c.json (200, gin.h { "data": "일부 데이터"})) }) }
데이터 바인딩 및 검증
여러 번 우리는 JSON 또는 양식 컨텐츠와 같은 클라이언트가 전송 한 구조화 된 데이터를 받아야합니다. GIN은 편리한 구조 바인딩 기능을 제공하고 필드 검증을 지원합니다.
예를 들어, 사용자 등록 정보를 받고 싶다고 가정합니다.
유형 사용자 struct { 이름 문자열`json : "name"바인딩 : "필수"` 이메일 문자열`json : "이메일"바인딩 : "필수, 이메일"` 비밀번호 문자열`json : "비밀번호"바인딩 : "필수, 최소 = 6"` }
그런 다음 인터페이스에서 사용하십시오.
func Register (c *gin.context) { VAR 사용자 사용자 err : = c. DistBindjson (& User); err! = nil { c.json (400, gin.h { "error": err.error ()}) 반품 } // 여기에서 데이터베이스 작업 및 기타 논리 C.JSON (200, gin.h { "Message": "Register Success"})을 추가 할 수 있습니다. }
들어오는 데이터가 요구 사항을 충족하지 않으면 오류 메시지가 자동으로 반환됩니다.
정적 파일 및 템플릿 렌더링
API 인터페이스 외에도 Gin은 정적 파일 서비스 및 HTML 페이지 렌더링을 지원합니다. 이것은 전면 및 후면이 완전히 분리되지 않은 소규모 프로젝트에 유용합니다.
정적 리소스 디렉토리를 설정하는 것은 간단합니다.
r.static ( "/static", "./static")
이러한 방식으로 /static/style.css
에 액세스하면 로컬 ./static/style.css
파일을로드 할 수 있습니다.
페이지 렌더링은 먼저 템플릿을로드해야합니다.
R.loadhtmlglob ( "템플릿/*. html") r.get ( "/index", func (c *gin.context) { c.html (200, "index.html", gin.h { "제목": "홈", }) })
템플릿 파일이 templates/
디렉토리에 배치되어 있는지 확인하십시오.
기본적으로 그게 다야. Gin의 문서는 매우 상세하고 커뮤니티는 활동적이며 일반적으로 문제가 발생할 때 해결책을 찾을 수 있습니다. 처음 시작하면 더 많은 공식적인 사례를 살펴보고 연습하는 동안 배울 수 있으며 빠르게 마스터 할 수 있습니다.
위 내용은 왁스 정렬 플라머 말론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제

tointegrategolangservices와 함께 intectapisorgrpcforinter-servicecommunication, userestapis (viaframworks likeginingoandflaskinpython) orgrppc (viframsks with protoco)를 허용합니다

golangofferssuperiorperperperperferforperformance, nativeconcurrencyviagoroutines 및 lefficientresourceusage, makingitidealforhigh-traffic, 2.python, whileslowerduetointerpretationandghilegil, arrethecoSystem, andisbettersuitedfori/o-ko

Golang은 주로 백엔드 개발에 사용되지만 프론트 엔드 필드에서 간접적 인 역할을 할 수도 있습니다. 설계 목표는 고성능, 동시 처리 및 시스템 수준 프로그래밍에 중점을두고 API 서버, 마이크로 서비스, 분산 시스템, 데이터베이스 운영 및 CLI 도구와 같은 백엔드 응용 프로그램을 구축하는 데 적합합니다. Golang은 웹 프론트 엔드의 주류 언어는 아니지만 Gopherjs를 통해 JavaScript로 컴파일하거나 Tinygo를 통해 WebAssembly에서 실행하거나 프론트 엔드 개발에 참여하기 위해 템플릿 엔진으로 HTML 페이지를 생성 할 수 있습니다. 그러나 현대적인 프론트 엔드 개발은 여전히 JavaScript/TypeScript 및 생태계에 의존해야합니다. 따라서 Golang은 고성능 백엔드를 사용하여 기술 스택 선택에 더 적합합니다.

toCompletelyUnnstallgolang, FirsterminehowitwasInstalled (Packagemanager, Binary, Source 등), thenRemoveGobinariesandDirectories, CleanupEnvironmentVariable 및 및 DeleterelatedToolsOndCaches.BeginCeckingStallationMethod

GO에서 JSON으로 변환 할 때 구조 필드가 사용자 정의 필드 이름을 사용하려면 구조 필드의 JSON 태그를 통해 구현할 수 있습니다. 1. JSON : "Custom_Name"태그를 사용하여 JSON의 필드의 키 이름을 지정하십시오. 예를 들어, namestringjson : "username" "은 이름 필드 출력을"사용자 이름 "으로 만듭니다.

GO를 설치하는 키는 올바른 버전을 선택하고 환경 변수를 구성하며 설치를 확인하는 것입니다. 1. 해당 시스템의 설치 패키지를 다운로드하려면 공식 웹 사이트로 이동하십시오. Windows는 .msi 파일을 사용하고 MacOS는 .pkg 파일을 사용하고 Linux는 .tar.gz 파일을 사용하여 /usr /local 디렉토리로 압축을 풀습니다. 2. Linux/MacOS에서 환경 변수, 편집 ~/.bashrc 또는 ~/.zshrc를 구성하여 경로와 Gopath를 추가하고 Windows Set 경로를 시스템 속성으로 이동합니다. 3. 정부 명령을 사용하여 설치를 확인하고 테스트 프로그램 Hello.Go를 실행하여 편집 및 실행이 정상인지 확인하십시오. 프로세스 전체에서 경로 설정 및 루프

"GO : CommandNotFound"는 일반적으로 환경 변수의 잘못된 구성으로 인해 발생합니다. 1. GO가 올바르게 설치되었는지 확인하고 경로를 확인하기 위해 Whetho를 사용하십시오. 2. 수동으로 GO의 빈 디렉토리 (예 :/usr/local/go/bin)를 경로 환경 변수에 추가합니다. 3. 해당 쉘의 구성 파일 (예 : .bashrc 또는 .zshrc)을 수정하고 소스를 실행하여 구성을 발효시킵니다. 4. 후속 모듈 문제를 피하기 위해 선택적으로 Goroot 및 Gopath를 설정합니다. 위의 단계를 완료 한 후 정부를 실행하고 수리 여부를 확인하십시오.

Golang은 일반적으로 웹 서비스를 구축 할 때 Python보다 CPU와 메모리를 덜 소비합니다. 1. Golang의 Goroutine 모델은 스케줄링이 효율적이며 동시 요청 처리 기능이 강하며 CPU 사용량이 낮습니다. 2. GO는 기본 코드로 컴파일되며 런타임 중에 가상 머신에 의존하지 않으며 메모리 사용량이 작습니다. 3. Python은 GIL 및 해석 실행 메커니즘으로 인한 동시 시나리오에서 더 큰 CPU 및 메모리 오버 헤드를 갖습니다. 4. Python은 개발 효율성이 높고 생태계가 풍부하지만 동시성 요구 사항이 낮은 시나리오에 적합한 높은 자원을 소비합니다.
