기본 콘텐츠로 건너뛰기

라벨이 routing인 게시물 표시

go용 routing module을 만들고 있다.

ror/sinatra 나 express.js 처럼 우아한 routing쓰고 싶은데 연습삼아 만들어보자는 생각에 서툰 코딩을 시작 /user/:userid 인 경우 \/user\/([^\/]+)\/? 이런 식으로 우아하게 정규식 치환을 했으면 했는데 string 패키지도 좀 볼겸. 단순하게 문자열 조작+뺑뺑이로 구현했다. https://gist.github.com/1827639 package main import "fmt" import "strings" var routes = [] string {    "/user/:id/friends/:friendsId" ,    "/scrapbook/:scrapbookid/scrap/:scrapid" ,    "/" } func getParams ( url string ) map [ string ] string {    for idx , _ := range routes {      format := routes [ idx ]      urlToken := strings . Split ( url , "/" )      formatToken := strings . Split ( format , "/" )      /* match pattern */      if len ( urlToken )== len ( formatToken ) && len ( formatToken )> 0 {        params := make ( map [ string ] string )  ...