320x100
구성원이 모두 사용해 본적 없음.
매주 과제를 정하고 다음 모임까지 완성해보는 방법으로 진행.
과제: Go를 사용해 Json 형식의 RestAPI 제작해보기
진행: 설치부터 C++과 다르다.
Go를 별도로 설치해야하고, VSCode에서 go extension를 설치해줘야 하고, 환경 변수를 잡아줘야 한다.
(GOROOT, GOPATH등. 1.7 버전 이후로는 뭐 없어졌다고 하는데 확인 필요)
restapi를 사용하려면 net/http 패키지를, json을 사용하려면 encoded/json 패키지를 사용해야 한다.
임의의 사용자 struct를 json으로 마샬링하기 위해선 key로 사용할 수 있는게 무조건 string이여야 한다.
uid를 정수로 했다가 이거 때문에 고생함.
package main
import (
"encoding/json"
"net/http"
)
type MyStruct struct {
uuid string
Name string
}
func main() {
myStruct := MyStruct{uuid: "PROPER-UUID-STRING", Name: "Some Proper Name"}
jsonBytes, err := json.Marshal(myStruct)
if err != nil {
panic(err)
}
http.HandleFunc("/user", func(w http.ResponseWriter, req *http.Request) {
w.Write(jsonBytes)
})
http.ListenAndServe(":5000", nil)
}
320x100
'프로그래밍 > Go' 카테고리의 다른 글
go-sql-driver bad connection (0) | 2022.10.12 |
---|---|
Rest api 라이브러리 찾기 (0) | 2022.09.20 |
vscode에서 내부 패키지 관련 빨간 줄 제거하기 (0) | 2022.09.15 |
로컬 패키지 import하기 (0) | 2022.08.19 |