'Programming/golang'에 해당되는 글 104건

  1. 2024.02.08 golang break, continue 라벨 그리고 goto
  2. 2024.02.07 golang import
  3. 2024.02.07 golang iota
  4. 2024.02.06 golang echo session check
  5. 2024.01.31 golang echo template engine
  6. 2024.01.30 gin ui
  7. 2024.01.18 golang swagger part 2
  8. 2024.01.17 golang용 swagger
  9. 2023.12.08 golang echo static web / logo.* 안돼?
  10. 2023.11.10 golang 타입 땜시 짜증
Programming/golang2024. 2. 8. 11:03

어우.. 문법이 이해하기 좀 빡세네?

c에서 goto는 해당 위치로 간다는게 직관적이었지만 golang에서 break, continue는 딱 와닫지 않는다.

 

특히나 예제에서 2중 루프를 돌리면 해당 라벨로 점프하는 느낌이 아니라

nested loop만 빠져나가는 것 같은데 어떻게 이해해야하려나?

반대로.. 해당 루프를 continue 하는거니까, 내부 loop를 break 하는걸로 이해하면 되나?

var err error
timeout := time.After(30 * time.Second)

sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, os.Interrupt)

complete := make(chan error)
go launchProcessor(complete)

Loop:
    for {
        select {
        case <-sigChan:
           atomic.StoreInt32(&shutdownFlag, 1)
           continue

        case <-timeout:
            os.Exit(1)

        case err = <-complete:
            break Loop
        }
    }

return err

 

    guestList := []string{"bill", "jill", "joan"}
    arrived := []string{"sally", "jill", "joan"}

CheckList:
    for _, guest := range guestList {
        for _, person := range arrived {
            fmt.Printf("Guest[%s] Person[%s]\n", guest, person)

            if person == guest {
                fmt.Printf("Let %s In\n", person)
                continue CheckList
            }
        }
    }

[링크 : https://www.ardanlabs.com/blog/2013/11/label-breaks-in-go.html]

[링크 : https://pyrasis.com/book/GoForTheReallyImpatient/Unit17/01]

 

goto는 한 함수 내에서 label이 유효하여 아래와 같이 다른 함수를 넘나들순 없게 구성되었다고 한다.

c와의 차이점이라고 해야하나..

package main

import "fmt"

func main() {
learnGoTo()
}

func learnGoTo() {
fmt.Println("a")
goto FINISH
fmt.Println("b")

}

func test() {
FINISH:
fmt.Println("c")
}

[링크 : https://golangbyexample.com/goto-statement-go/]

[링크 : https://pyrasis.com/book/GoForTheReallyImpatient/Unit18]

'Programming > golang' 카테고리의 다른 글

golang switch  (0) 2024.02.08
golang switch - fallthrough  (0) 2024.02.08
golang import  (0) 2024.02.07
golang iota  (0) 2024.02.07
golang echo session check  (0) 2024.02.06
Posted by 구차니
Programming/golang2024. 2. 7. 19:18

golang 에서 import시 _는 써봤는데, .이랑 별칭은 첨 본 듯..

. 은 namespace(?)가 꼬일수 있으니 주의해서 쓰라고 한다.

 

import _ "time"
import . "time"
import t "time"

[링크 : https://go.dev/doc/effective_go#package-names]

[링크 : https://knight76.tistory.com/entry/go-lang-import-별명-alias]

'Programming > golang' 카테고리의 다른 글

golang switch - fallthrough  (0) 2024.02.08
golang break, continue 라벨 그리고 goto  (0) 2024.02.08
golang iota  (0) 2024.02.07
golang echo session check  (0) 2024.02.06
golang echo template engine  (0) 2024.01.31
Posted by 구차니
Programming/golang2024. 2. 7. 19:09

 

iota는 매우 적은 양이라는 뜻이라는데..

[링크 : https://www.etymonline.com/kr/word/iota]

 

c의 enum 형에서 0부터 시작할때 첫 변수에 iota로 할당하면 된다.

[링크 : https://go.dev/wiki/Iota]

'Programming > golang' 카테고리의 다른 글

golang break, continue 라벨 그리고 goto  (0) 2024.02.08
golang import  (0) 2024.02.07
golang echo session check  (0) 2024.02.06
golang echo template engine  (0) 2024.01.31
gin ui  (0) 2024.01.30
Posted by 구차니
Programming/golang2024. 2. 6. 18:57

'Programming > golang' 카테고리의 다른 글

golang import  (0) 2024.02.07
golang iota  (0) 2024.02.07
golang echo template engine  (0) 2024.01.31
gin ui  (0) 2024.01.30
golang swagger part 2  (0) 2024.01.18
Posted by 구차니
Programming/golang2024. 1. 31. 17:35

찾아보니 존재는 하지만..

그래도 먼가 부족한 느낌? 내용이 부실해서 그런가..

페이지 넣는다거나 하는걸 찾아야 하는디..

 

[링크 : https://echo.labstack.com/docs/templates]

 

[링크 : https://www.digitalocean.com/community/tutorials/how-to-use-templates-in-go]

[링크 : https://stackoverflow.com/questions/33984147/golang-embed-html-from-file]

[링크 : https://pkg.go.dev/html/template]

[링크 : https://pkg.go.dev/text/template]

'Programming > golang' 카테고리의 다른 글

golang iota  (0) 2024.02.07
golang echo session check  (0) 2024.02.06
gin ui  (0) 2024.01.30
golang swagger part 2  (0) 2024.01.18
golang용 swagger  (0) 2024.01.17
Posted by 구차니
Programming/golang2024. 1. 30. 14:03

패키지 설치는 손쉬운데

go install gioui.org/cmd/gogio@latest

 

의존성이 어마어마 하다 -_-

apt install gcc pkg-config libwayland-dev libx11-dev libx11-xcb-dev libxkbcommon-x11-dev libgles2-mesa-dev libegl1-mesa-dev libffi-dev libxcursor-dev libvulkan-dev

[링크 : https://gioui.org/]

'Programming > golang' 카테고리의 다른 글

golang echo session check  (0) 2024.02.06
golang echo template engine  (0) 2024.01.31
golang swagger part 2  (0) 2024.01.18
golang용 swagger  (0) 2024.01.17
golang echo static web / logo.* 안돼?  (0) 2023.12.08
Posted by 구차니
Programming/golang2024. 1. 18. 10:55

어우 빡세 -_-

완전히 설정은 못했고

main.go의 주석문에 의해서 swag init 실행시에 초기화 하는데

그러다 보니 동적으로 타겟의 ip가 변경될 경우는 매번 주석을 변경해서 빌드해 주어야 하는 문제가 발생한다.

먼가 좋은 방법이 있나 찾아보는데 쓸만한 답은 못 찾음..

'Programming > golang' 카테고리의 다른 글

golang echo template engine  (0) 2024.01.31
gin ui  (0) 2024.01.30
golang용 swagger  (0) 2024.01.17
golang echo static web / logo.* 안돼?  (0) 2023.12.08
golang 타입 땜시 짜증  (0) 2023.11.10
Posted by 구차니
Programming/golang2024. 1. 17. 18:22

swagger도 이름이 생각안나서 한참 찾은...

해보면 묘하게 잘 안된다. swag 실행 파일도 그냥 swag에서 pre-built binary 받아서 실행해야 하고..

[링크 : https://yongho1037.tistory.com/791]

 

[링크 : https://github.com/go-swagger/go-swagger]

[링크 : https://github.com/swaggo/swag]

[링크 : https://github.com/swaggo/echo-swagger]

'Programming > golang' 카테고리의 다른 글

gin ui  (0) 2024.01.30
golang swagger part 2  (0) 2024.01.18
golang echo static web / logo.* 안돼?  (0) 2023.12.08
golang 타입 땜시 짜증  (0) 2023.11.10
golang 타입 캐스팅 제약(?)  (0) 2023.11.09
Posted by 구차니
Programming/golang2023. 12. 8. 11:30

logo.png나 logo.svg가 읽히지 않는 이상한 문제 발생

 

확인해보니 내부적으로 skipper를 이용해 log로 시작하면 스킵하도록 해놨는데

그걸 HasPrefix() 로 구현하다 보니, logo.svg나 log.png 에서 log로 시작하니 스킵되어 발생한 해프닝(?)

/log를 /log/로 바꾸면 문제없이 logo.png도 읽어온다.

e.Use(middleware.StaticWithConfig(middleware.StaticConfig{
Root: "html",
Skipper: func(c echo.Context) bool {
return strings.HasPrefix(c.Request().RequestURI, "/log")
},
}))

'Programming > golang' 카테고리의 다른 글

golang swagger part 2  (0) 2024.01.18
golang용 swagger  (0) 2024.01.17
golang 타입 땜시 짜증  (0) 2023.11.10
golang 타입 캐스팅 제약(?)  (0) 2023.11.09
golang 배열과 슬라이스  (0) 2023.11.08
Posted by 구차니
Programming/golang2023. 11. 10. 14:30

아놔.. 너무 심하게 강형 언어인거 아닌가 싶을 정도로

별별것 다 트집을 잡아서 명시적으로 형변환을 하게 만든다

time.Sleep(2 * time.Second) // 정상 작동

var update_sec int = 2
time.Sleep(update_sec * time.Second) // 에러

time.Sleep(time.Duration(update_sec) * time.Second) // 정상 작동

[링크 : https://jusths.tistory.com/71]

 

아니면 내가 너무 golang을 golang 답게 안쓰는건가?

'Programming > golang' 카테고리의 다른 글

golang용 swagger  (0) 2024.01.17
golang echo static web / logo.* 안돼?  (0) 2023.12.08
golang 타입 캐스팅 제약(?)  (0) 2023.11.09
golang 배열과 슬라이스  (0) 2023.11.08
golang ini 지원  (0) 2023.11.07
Posted by 구차니