«go» 태그된 질문

Go는 오픈 소스 프로그래밍 언어입니다. C에서 느슨하게 파생 된 구문, 자동 메모리 관리, 유형 안전성, 일부 동적 유형 지정 기능, 가변 길이 배열 (슬라이스라고 함) 및 키-값 맵과 같은 추가 내장 유형을 포함하여 정적으로 유형이 지정됩니다. 큰 표준 라이브러리.

4
Go 구조체를 JSON으로 변환
json패키지를 사용하여 Go 구조체를 JSON으로 변환하려고 하지만 얻는 것은 {}입니다. 나는 그것이 완전히 명백한 것이 확실하지만 그것을 보지 못한다. package main import ( "fmt" "encoding/json" ) type User struct { name string } func main() { user := &User{name:"Frank"} b, err := json.Marshal(user) if err != nil { fmt.Printf("Error: %s", …
181 json  go 

12
구조체에서 필드 제거 또는 JSON 응답에서 필드 숨기기
Go에서 API를 만들어 호출하면 쿼리를 수행하고 구조체의 인스턴스를 만든 다음 호출자에게 다시 보내기 전에 해당 구조체를 JSON으로 인코딩합니다. 이제 발신자가 "fields"GET 매개 변수를 전달하여 반환하려는 특정 필드를 선택할 수있게하려고합니다. 이것은 필드 값에 따라 내 구조체가 변경됨을 의미합니다. 구조체에서 필드를 제거하는 방법이 있습니까? 아니면 적어도 JSON 응답에서 동적으로 숨기겠습니까? (참고 : …
181 json  go 

5
사용자 정의 패키지를 사용하는 방법
Go에서 사용자 정의 패키지를 만들고 사용하려고합니다. 아마도 매우 분명한 것이지만 이것에 대한 많은 정보를 찾을 수 없습니다. 기본적 으로이 두 파일은 동일한 폴더에 있습니다. mylib.go package mylib type SomeType struct { } main.go package main import ( "mylib" ) func main() { } 시도 go run main.go하면이 오류가 발생합니다. main.go:4:2: …
178 import  package  go 

4
데이터 (유형 인터페이스 {})를 유형 문자열로 변환 할 수 없음 : 유형 어설 션 필요
나는 아주 새로운 것이었고 나는이 알림 패키지를 가지고 놀고있었습니다 . 처음에는 다음과 같은 코드가있었습니다. func doit(w http.ResponseWriter, r *http.Request) { notify.Post("my_event", "Hello World!") fmt.Fprint(w, "+OK") } 위 Hello World!의 함수에는 개행 문자를 추가하고 싶었습니다 doit. 왜냐하면 꽤 간단 하기는하지만 handler나중에 다음과 같이하기 때문입니다. func handler(w http.ResponseWriter, r *http.Request) { myEventChan …
178 go  type-mismatch 

2
바이트 슬라이스를 io.Reader로 변환
내 프로젝트에는 요청 응답의 바이트 슬라이스가 있습니다. defer resp.Body.Close() if resp.StatusCode != http.StatusOK { log.Println("StatusCode为" + strconv.Itoa(resp.StatusCode)) return } respByte, err := ioutil.ReadAll(resp.Body) if err != nil { log.Println("fail to read response data") return } 이것은 효과가 있지만에 대한 응답 본문을 얻으려면 io.Reader어떻게 변환합니까? 나는 새로운 리더 / 작가를 시도했지만 …
177 go 


2
Go에서 JSON Marshal을 사용한 소문자 JSON 키 이름
"encoding/json"패키지 를 사용하여 내 응용 프로그램의 가져온 패키지 중 하나에 선언 된 구조체를 마샬링하고 싶습니다. 예 : type T struct { Foo int } 가져 오기 때문에 구조체에서 사용 가능한 모든 (내 보낸) 필드는 대문자로 시작합니다. 그러나 소문자 키 이름을 원합니다. out, err := json.Marshal(&T{Foo: 42}) 결과 { "푸": 42} …
175 json  go  marshalling 

10
정수 범위를 반복하는 방법이 있습니까?
Go의 범위는 맵과 슬라이스를 반복 할 수 있지만 다음과 같은 범위의 숫자를 반복하는 방법이 있는지 궁금합니다. for i := range [1..10] { fmt.Println(i) } 또는 Ruby가 Range 클래스를 사용하는 방식과 같이 Go에서 정수 범위를 나타내는 방법이 있습니까?
174 go 


7
gopath없이 로컬 패키지를 가져 오는 방법
나는 사용 GOPATH했지만이 현재 문제에 직면하고 있는데 도움이되지 않습니다. 프로젝트와 관련된 패키지를 만들 수 있기를 원합니다. myproject/ ├── binary1.go ├── binary2.go ├── package1.go └── package2.go 나는 여러 가지 방법을 시도했지만 어떻게받을 수 있나요 package1.go[작업에 binary1.go나 binary2.go에 그래서? 예를 들어; 나는 할 수 있도록하려면 import "package1"다음 실행할 수 go build binary1.go및 …
171 go  package 

2
슬라이스의 마지막 요소를 얻는 방법?
슬라이스의 마지막 요소를 추출하는 이동 방법은 무엇입니까? var slice []int slice = append(slice, 2) slice = append(slice, 7) slice[len(slice)-1:][0] // Retrieves the last element 위의 해결책은 효과가 있지만 어색해 보입니다.
167 go  slice 

5
이동 중에지도 [키]를 삭제 하시겠습니까?
나는지도가있다 : var sessions = map[string] chan int{} 어떻게 삭제 sessions[key]합니까? 나는 시도했다 : sessions[key] = nil,false; 작동하지 않았습니다. 업데이트 (2011 년 11 월) : Go 버전 1 에서는 맵 항목을 삭제하기위한 특수 구문이 제거되었습니다 . Go 1은 특수 맵 할당을 제거하고 새로운 내장 함수를 도입합니다 delete. : delete(m, x)식으로 …
166 map  go 

8
HTTP 헤더 설정
Go 웹 서버에서 헤더를 설정하려고합니다. 패키지를 사용 gorilla/mux하고 net/http있습니다. Access-Control-Allow-Origin: *도메인 간 AJAX를 허용하도록 설정하고 싶습니다 . 내 Go 코드는 다음과 같습니다. func saveHandler(w http.ResponseWriter, r *http.Request) { // do some stuff with the request data } func main() { r := mux.NewRouter() r.HandleFunc("/save", saveHandler) http.Handle("/", r) http.ListenAndServe(":"+port, nil) } …
165 http  go  cors  http-headers 

5
Go에서 구조체의 스택과 힙 할당 및 가비지 수집과의 관계
나는 Go를 처음 사용하고 자동 변수가 스택에 있고 메모리에 힙이 할당되는 C 스타일 스택 기반 프로그래밍과 Python 스타일 스택 기반 프로그래밍 사이에서 약간의 불협화음을 경험하고 있습니다. 스택에있는 것은 힙의 객체에 대한 참조 / 포인터입니다. 내가 알 수있는 한 다음 두 함수는 동일한 출력을 제공합니다. func myFunction() (*MyStructType, error) { var …

6
Go의 무 탐지
Go에서 다음과 같이 nil을 감지하는 많은 코드가 있습니다. if err != nil { // handle the error } 그러나 다음과 같은 구조체가 있습니다. type Config struct { host string port float64 } 그리고 config는 Config의 인스턴스입니다. if config == nil { } 컴파일 오류가 있습니다 : nil을 Config 유형으로 변환 …
165 go  null 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.