>백엔드 개발 >Golang >go의 var가 구조를 초기화할 수 있는지 탐색

go의 var가 구조를 초기화할 수 있는지 탐색

藏色散人
藏色散人앞으로
2021-11-30 15:48:172604검색

이 글은 var가 golang의 구조를 초기화할 수 있는지에 대한 go 언어튜토리얼 칼럼에서 소개한 내용입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Background

이전의 작은 기사에서는 goland를 사용하여 가장 간단한 golang 데모를 구축했습니다. 이는 실용적인 가치가 없으며 golang 구문을 덜 사용하여 간단한 crud 작업을 완료합니다. golang의 기본 구문을 마스터할 수 있습니다

구문을 미리 이해하세요

  • 문자열을 int로 변환 golang에서 strconv.Atoi 메서드 사용
  • golang에서 해당 메서드의 반환 값 거기 다중일 수 있습니다. 이는 java와 다릅니다(예: map[id] 메소드). 첫 번째 반환 값은 value이고 두 번째 반환 값은 bool 유형으로, Java에

  • 및 json 직렬화가 있는지 여부를 나타냅니다. 메서드는 다음과 같습니다. 더 비슷합니다. 역직렬화는 json.Unmarshal 메서드이고, 첫 번째 매개변수는 바이트 배열이고, 두 번째 매개변수는 직렬화된 개체의 "주소"입니다. &를 추가하고, 직렬화 메서드는 json.Marshal 메서드입니다. 주의하세요. 이 메서드에서 반환된 바이트 배열

위 섹션에서 사용된 구문은 다음 연습에서 자주 사용됩니다. 친구들은 간단히 외울 수 있습니다

Exercises

1. 간단합니다. 이 구조 인스턴스의 추가, 삭제 및 수정을 완료하려면 Id, Name, Age

go의 var가 구조를 초기화할 수 있는지 탐색

3가지 속성을 사용하여 아래와 같이 구조를 정의합니다. 삭제 및 수정 확인을 위해 추가가 메모리에서 수행되기 때문입니다. 데이터베이스를 사용하지 않으므로 Java와 같은 전역 변수를 정의하고 이를 컨테이너로 사용하여 데이터를 저장해야 합니다. 아래 소스 코드에서와 같이 var 키워드를 사용하여 전역 변수 맵을 정의하고 레코드를 초기화합니다

go의 var가 구조를 초기화할 수 있는지 탐색

3. 그런 다음 아래와 같이 4개의 "RequestMapping"을 정의합니다

go의 var가 구조를 초기화할 수 있는지 탐색

3.1 getUser 메소드의 주요 논리는 전달된 매개변수 ID를 가져온 다음 해당 ID를 기반으로 전역 변수에서 기본 사용자 정보를 가져오는 것입니다.

go의 var가 구조를 초기화할 수 있는지 탐색

3.2 saveUser POST 요청을 처리합니다. 이제 개발 중에는 일반적으로 해당 데이터에 전달된 json 데이터를 구문 분석한 다음 전역 변수에 저장합니다.

go의 var가 구조를 초기화할 수 있는지 탐색

3.3 updateUser는 saveUpdate와 유사합니다. 단순함, 여기서만 판단합니다. 해당 ID가 글로벌 맵에 존재하는 경우 속성 비교 및 ​​교체를 수행하지 않고 이 ID에 해당하는 사용자 개체를 변경합니다.

go의 var가 구조를 초기화할 수 있는지 탐색

3.4 deleteUser는 더 간단합니다. 맵에서 해당 ID를 삭제하면 됩니다

go의 var가 구조를 초기화할 수 있는지 탐색

Test

1.getUser's 테스트

go의 var가 구조를 초기화할 수 있는지 탐색

2.saveUser's 테스트

go의 var가 구조를 초기화할 수 있는지 탐색

go의 var가 구조를 초기화할 수 있는지 탐색

3.updateUser's 테스트

go의 var가 구조를 초기화할 수 있는지 탐색

go의 var가 구조를 초기화할 수 있는지 탐색

4.

go의 var가 구조를 초기화할 수 있는지 탐색

요약

이 섹션은 주로 메모리에서 추가, 삭제, 수정 및 검색을 완료합니다. 사실 golang의 기본 구문을 완벽하게 익히면 확실히 유치하다고 느낄 수 있지만 이는 중요하지 않습니다. 일부 신입생들은 분명히 뭔가를 얻을 것입니다. 위의 코드를 주의 깊게 살펴보면 몇 가지 문제를 확실히 발견할 수 있습니다. 매개변수를 구문 분석하는 방법 중 하나는 localhost:9090/user?id= 입니다. 1, 이는 ID를 얻는 방법입니다. get은 게시물 요청의 json입니다. spring mvc의 @requestMapping(value="/user/{name}/이 localhost:9090/user?id=라고 가정하면) 1, ID를 얻는 방법은 게시물 요청 json에서 ID를 얻는 것입니다. spring mvc에서 @requestMapping(value="/user/{name}/{id}")처럼 이 작업을 수행하려면 @pathvariable 메서드를 통해 매개변수를 가져옵니다. 이는 일상 작업에 매우 유용하지만 불행히도 golang은 상대적으로 복잡한 매개변수 바인딩 작업을 기본적으로 지원하지 않습니다. 우리는 데이터 구조 Trie

를 통해 이 문제를 해결할 것입니다. 소스 코드 주소

https://github.com/BazingaLyn /jarvis

이 입문 튜토리얼 시리즈가 마음에 드셨다면 컬렉션을 팔로우하고 좋아해 주시길 바랍니다~

Easter egg.

코드를 직접 입력하면 (작성자 http.ResponseWriter, request *http.Request)를 여러 번 작성해야 합니다. Goland에서는 단축키 설정을 빠르게 생성할 수 있는 방법을 제공합니다. 다르지만 다음 방법을 사용하면 빠르게 방법을 생성할 수 있습니다

go의 var가 구조를 초기화할 수 있는지 탐색

위 내용은 go의 var가 구조를 초기화할 수 있는지 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제