«go» 태그된 질문

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

5
단일 값 컨텍스트의 여러 값
Go의 오류 처리로 인해 종종 여러 값 함수로 끝납니다. 지금까지 내가 이것을 관리하는 방법은 매우 지저분했고 더 깨끗한 코드를 작성하는 모범 사례를 찾고 있습니다. 다음과 같은 기능이 있다고 가정 해 보겠습니다. type Item struct { Value int Name string } func Get(value int) (Item, error) { // some code return …

7
빈 구조체를 확인하는 방법은 무엇입니까?
구조체를 정의합니다 ... type Session struct { playerId string beehive string timestamp time.Time } 때로는 빈 세션을 할당합니다 (nil이 불가능하기 때문에) session = Session{}; 그런 다음 비어 있는지 확인하고 싶습니다. if session == Session{} { // do stuff... } 분명히 이것은 작동하지 않습니다. 어떻게 작성합니까?
110 struct  go 


10
Go가 자바에 비해 느린 이유는 무엇입니까?
2010 년 컴퓨터 언어 벤치 마크 게임 에서 볼 수 있듯이 : Go는 C 보다 평균 10 배 느립니다. Go는 Java 보다 3 배 느립니다 !? Go 컴파일러가 실행을위한 네이티브 코드를 생성한다는 점을 염두에두고 어떻게 이럴 수 있습니까? Go 용 미성숙 컴파일러? 아니면 Go 언어에 내재적 인 문제가 있습니까? 편집 …

12
Go 언어로 UUID를 생성하는 방법이 있습니까?
다음과 같은 코드가 있습니다. u := make([]byte, 16) _, err := rand.Read(u) if err != nil { return } u[8] = (u[8] | 0x80) & 0xBF // what does this do? u[6] = (u[6] | 0x40) & 0x4F // what does this do? return hex.EncodeToString(u) 길이가 32 인 문자열을 반환하지만 …
109 go  uuid 

13
go get을 사용하여 특정 버전의 패키지를 가져 오려면 어떻게해야합니까?
Node특정 버전의 공급 업체 lib를 프로젝트 폴더 ( node_modules)에 설치하는 데 사용 했던 환경 에서 다음과 같이 npm해당 lib의 해당 버전을 package.json콘솔에서 또는 콘솔에서 직접 설치하도록 지시합니다 . $ npm install express@4.0.0 그런 다음 프로젝트에서 해당 패키지의 해당 버전을 다음과 같이 가져 왔습니다. var express = require('express'); 이제 go. 어떻게 …


11
Go 오류 처리 기술 [닫기]
닫힘 . 이 질문은 의견 기반 입니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 기각 . 이 질문 개선 방금 Go를 시작했습니다. 내 코드에 다음이 많이 포함되기 시작했습니다. if err != nil { …
108 go 

3
sync.WaitGroup의 예가 맞습니까?
이 예제 사용법이 sync.WaitGroup맞습니까? 예상 된 결과를 제공하지만의 wg.Add(4)및 위치에 대해 잘 모르겠습니다 wg.Done(). 4 개의 고 루틴을 한 번에 추가하는 것이 합리적 wg.Add()입니까? http://play.golang.org/p/ecvYHiie0P package main import ( "fmt" "sync" "time" ) func dosomething(millisecs time.Duration, wg *sync.WaitGroup) { duration := millisecs * time.Millisecond time.Sleep(duration) fmt.Println("Function in background, duration:", duration) …
108 go  goroutine 


11
파일에 로그를 쓰는 방법
Go로 로그 파일에 쓰려고합니다. 나는 여러 가지 접근법을 시도했지만 모두 실패했습니다. 이것이 내가 시도한 것입니다. func TestLogging(t *testing.T) { if !FileExists("logfile") { CreateFile("logfile") } f, err := os.Open("logfile") if err != nil { t.Fatalf("error: %v", err) } // attempt #1 log.SetOutput(io.MultiWriter(os.Stderr, f)) log.Println("hello, logfile") // attempt #2 log.SetOutput(io.Writer(f)) log.Println("hello, logfile") …
108 go  logging 

2
값 수신기 대 포인터 수신기
항상 포인터 수신기를 사용하는 대신 값 수신기를 사용하고 싶은 경우에는 매우 불분명합니다. 문서에서 요약하려면 : type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { return 1 } // pointer receiver 문서는 "같은 …
108 function  pointers  go 

5
시간을 사용하지 않고 모든 고 루틴이 끝날 때까지 기다리는 방법.
이 코드는 호출 된 실행 파일로 동일한 폴더에있는 모든 xml 파일을 선택하고 콜백 메서드의 각 결과에 비동기 적으로 처리를 적용합니다 (아래 예에서는 파일 이름 만 인쇄 됨). 주 메서드가 종료되지 않도록하려면 sleep 메서드를 사용하지 않으려면 어떻게해야합니까? 채널 주위에 머리를 감는 데 문제가 있으므로 (결과를 동기화하는 데 필요한 것이라고 가정합니다) 도움을 …

4
Golang에서 긴 코드 줄을 끊는 방법은 무엇입니까?
Python에서 왔기 때문에 80 열보다 긴 코드 줄을 보는 데 익숙하지 않습니다. 그래서 이것을 만나면 : err := database.QueryRow("select * from users where user_id=?", id).Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) 나는 그것을 깨려고 노력했다 err := database.QueryRow("select * from users where user_id=?", id) \ .Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) 하지만 나는 …
108 go  syntax 

3
Go에서 구조체의 필드를 반복합니다.
기본적으로 a의 필드 값을 반복하는 유일한 방법 (내가 알고있는) struct은 다음과 같습니다. type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, } { //do something with the d } 을 달성하는 더 좋고 더 …
107 go  go-reflect 

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