go 환경 조성했으니, 다음을 공부.


간단소개

(한글) https://ko-kr.facebook.com/ClickseoInsight/posts/1510209759197304


예제로 보는 go 샘플

http://learnxinyminutes.com/docs/ko-kr/go-kr/

https://gobyexample.com


Go book

(읽다보면 go 언어가 사랑스러워진다.)

http://www.golang-book.com/



go로 웹 어플리케이션 개발하기 
https://www.gitbook.com/book/astaxie/build-web-application-with-golang/details
(일본어)
http://astaxie.gitbooks.io/build-web-application-with-golang/content/
(영어)
http://astaxie.gitbooks.io/build-web-application-with-golang/content/en/index.html

cheat sheet

https://github.com/basti1302/go-lang-cheat-sheet


c.c++개발자를 위한 go from 마소

(한글) http://bjc1111.namoweb.net/xe/bbs4/824


PPT 자료

(한글) http://www.slideshare.net/songaal/lets-go-45867246


go 포탈

https://golang.org/


go 언어 공부

(영문) http://tour.golang.org/

(한글) http://go-tour-kr.appspot.com/#1


go language spec (스펙이라 딱딱하다.)

http://golang.org/ref/spec


c++ 개발자를 위한 go 

(한글) https://code.google.com/p/golang-korea/wiki/GoForCppDeveloper 

(원문) https://github.com/golang/go/wiki/GoForCPPProgrammers


루비 개발자가 본 go의 불편함 (오히려 go 의 특징을 알게됨)

http://xampl.com/so/2012/06/26/a-rubyist-has-some-difficulties-with-go/


go workspace 만들기 및 테스트

http://golang.org/doc/code.html


effective go (약간 딱딱한 느낌)

http://golang.org/doc/effective_go.html


go lib 찾기

http://godoc.org/


go release 확인

https://groups.google.com/forum/#!forum/golang-announce


go 공부 참조

http://golang.org/doc/#articles


Go's Declaration Syntax

http://blog.golang.org/gos-declaration-syntax

https://news.ycombinator.com/item?id=8648280


API 문서 (javadoc 이 익숙해져서..ㅠ)

http://golang.org/pkg/


Interface 좋은 글

http://jordanorelli.com/post/32665860244/how-to-use-interfaces-in-go


Posted by '김용환'
,


gobyexample.com 코드 중 일부이다. 



package main


import "fmt"

import "time"


func main() {


  i := "1";

  switch i {

    case "1" : fmt.Println("1"); 

    case "2" : fmt.Println("2");break

    case "3" : fmt.Println("3");

    default : fmt.Println("4");

  }


  t := time.Now()

  switch {

    case t.Hour() < 12 : fmt.Println("1213123") ; fmt.Println("ddd")

    default : fmt.Println("xxx")

  }


}



 semicolon(;) 써도 되고 안써도 되고..

 switch문에서 break을 써도 되고..

여러 문장을 하나의 구문에서 쓸때, semicolon으로 구분해서 쓸 수 있다. 


Posted by '김용환'
,



martini 개발 동영상을 보면, martini를 실시간으로 로딩하는 것이 보이는데..
비슷한 툴을 찾아보았다.

martini 설치 내용
http://knight76.tistory.com/entry/Go-%EC%9B%B9-%EA%B0%9C%EB%B0%9C-%ED%88%B4-martini-%EC%86%8C%EA%B0%9C


tmux 설치 & 설정
http://nodeqa.com/nodejs_ref/99
http://haruair.com/blog/2124


martini 자동 reloading하는 fresh 설치
https://github.com/pilu/fresh


실제로 테스트해보니. play나 rails 개발하는 기분이 들었다..
점점 go 언어를 공부할 느낌이 좋다. 


좋은 내용

http://gravityblast.com/2014/01/15/build-and-restart-your-go-web-app-with-fresh/

Posted by '김용환'
,


http://martini.codegangsta.io/

https://github.com/go-martini/martini


frontend로 쓰기에 딱 좋은 go 웹 프레임웍을 발견했다. play나 rails를 보는 느낌이다~

그리고 쉽게 개발할 수 있는 환경이라서 좋다. 아주 간단한 예제를 소개해본다. 


한국 번역 내용은 아래를 참조한다. 

https://github.com/go-martini/martini/blob/master/translations/README_ko_kr.md




GO 개발 워크스페이스를  .bash_profile에 추가한다. 

export GOPATH=/mydev/go

export PATH=$PATH:$GOPATH/bin


(참고로 GOPATH는 여러 개의 workspace를 둘 수 있다. 예-export GOPATH=/mydev/go1:/mydev/go2


그리고 /mydev/go 서버 코드를 작성한다. 

$ cat server.go
package main

import "github.com/go-martini/martini"

func main() {
m := martini.Classic()
m.Get("/", func() string {
return "Hello, 세계!"
})

m.Get("/hello/:name", func(params martini.Params) string {
return "Hello " + params["name"] // :name을 Params인자에서 추출
})

m.Run()

}


소스에 있는 라이브러리를 설치한다.


 $ go get github.com/go-martini/martini



서버를 실행한다. 


 $ go run server.go
[martini] listening on :3000 (development)



실행을 완료한다. 

Hello, 세계!

Hello Google





현재 martini와 비슷한 툴은 아래와 같이 나와 있다. 


 Traffic, gocraft/web.

Posted by '김용환'
,

go lang 설치

go lang 2015. 3. 11. 14:35





https://golang.org/dl/ 에 접속해서 os별 압축 파일 다운로드


go1.4.2.darwin-amd64-osx10.8.tar.gz 다운 받기


tar zxvf go1.4.2.darwin-amd64-osx10.8.tar.gz


sudo mv go /usr/local


.profile 에 다음 줄 추가

export PATH=$PATH:/usr/local/go/bin



source .profile


go 실행


$ go version

go version go1.4.2 darwin/amd64



IDE는 atom을 이용.

 https://atom.io/packages/go-plus

Posted by '김용환'
,