Как использовать переменную в качестве шаблона для http.HandleFun c () - PullRequest
0 голосов
/ 06 марта 2020

У меня есть несколько HTTP-запросов, которые имеют много общих функций:

package main

import (
    "net/http"
    "mypackage"
)

func main() {
    http.HandleFunc("/myurl1", func(w http.ResponseWriter, r *http.Request) {
        mypackage.Common()
        mypackage.Different1()
    })
    http.HandleFunc("/myurl2", func(w http.ResponseWriter, r *http.Request) {
        mypackage.Common()
        mypackage.Different2()
    })
    http.ListenAndServe(":8080", nil)
}

Могу ли я использовать переменную вместо /myurl и использовать случай переключения, чтобы уменьшить количество повторений моего кода, например :

package main

import (
    "net/http"
    "mypackage"
)

func main() {
    http.HandleFunc(variable string, func(w http.ResponseWriter, r *http.Request) {

         mypackage.Common()

         switch variable {
         case "myurl1":
             mypackage.Different1()
         case "myurl2":
             mypackage.Different2()
         }
    })
    http.ListenAndServe(":8080", nil)
}

1 Ответ

1 голос
/ 06 марта 2020

Вы можете направить в / сначала, затем вызвать Different1 или Different2 в зависимости от пути. Пожалуйста, обратитесь к этому коду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...