1. 程式人生 > >關於Go語言在服務端做Restful介面和socket通訊

關於Go語言在服務端做Restful介面和socket通訊

package main
import (
    "fmt"
    "github.com/drone/routes"
    "net/http"
)
func getuser(w http.ResponseWriter, r *http.Request) {
    params := r.URL.Query()
    uid := params.Get(":uid")
    fmt.Fprintf(w, "you are get user %s", uid)
}
func modifyuser(w http.ResponseWriter, r *http.Request) {
    params := r.URL.Query()
    uid := params.Get(":uid")
    fmt.Fprintf(w, "you are modify user %s", uid)
}
func deleteuser(w http.ResponseWriter, r *http.Request) {
    params := r.URL.Query()
    uid := params.Get(":uid")
    fmt.Fprintf(w, "you are delete user %s", uid)
}
func adduser(w http.ResponseWriter, r *http.Request) {
    params := r.URL.Query()
    uid := params.Get(":uid")
    fmt.Fprint(w, "you are add user %s", uid)
    fmt.Printf("you are add user %s", uid)
}
//xiaorui.cc
func main() {
    mux := routes.New()
    mux.Get("/user/:uid", getuser)
    mux.Post("/user/:uid", modifyuser)
    mux.Del("/user/:uid", deleteuser)
    mux.Put("/user/:uid", adduser)
    http.Handle("/", mux)
    http.ListenAndServe(":8088", nil)
}
//xiaorui.cc

相關推薦

關於Go語言服務Restful介面socket通訊

package main import (     "fmt"     "github.com/drone/routes"     "net/http" ) func getuser(w http.ResponseWriter, r *http.Request) {     params := r.URL.

安卓使用Socket發送中文,C語言服務接收亂碼問題解決方式

article nbsp ons size ret con pre n+1 utf8 今天用安卓通過Socket發送數據到電腦上使用C語言寫的服務端,發送英文沒有問題,可當把數據改變成中文時,服務端接收到的數據確是亂碼。 突然想到。VS的預處理使用的

客戶服務如何使用TokenSession

cnblogs blank style ssi exception font 統一 判斷 用戶 一、我們先解釋一下他的含義: 1、Token的引入:Token是在客戶端頻繁向服務端請求數據,服務端頻繁的去數據庫查詢用戶名和密碼並進行對比,判斷用戶名和密碼正確與否,並作

Go語言-信號os.Interrupt信號syscall.SIGTERM的應用

AI pin err 結果 AS cas bool ret pki 實例 package main import( "fmt" "os" "os/signal" "sync" "syscall" "time" ) func

GO語言中封裝,繼承,多型

封裝 go中的封裝和java的不太一樣,在go裡面是沒有java中的class,不過可以把struct看成一個類,封裝可以簡單地看作對struct的封裝,對應封裝struct的方法。 type obj1 struct { valte1 string } type obj2 s

Go語言程式設計基礎 方法與介面(四)(完結)——Stringer、Reader、Image

14 Stringer fmt包中定義的Stringer是最普遍的介面之一。 type Stringer interface { String() string } Stringer是一個可以用字串描述自己的型別。fmt包(還有很多包)都通過此介面來列印值。 packag

《快學 Go 語言》第 9 課 —— 介面

介面是一個物件的對外能力的展現,我們使用一個物件時,往往不需要知道一個物件的內部複雜實現,通過它暴露出來的介面,就知道了這個物件具備哪些能力以及如何使用這個能力。 我們常說「佛有千面」,不同的人看到的佛並不一樣。一個複雜的複合物件常常也可以是一個多面手,它具備多種能力,在形式上實現了多種介面。「弱水三千,只

GO語言學習:安裝包下載linux環境變數配置

1.安裝包下載   地址:https://golang.google.cn/dl/   截圖:    2.解壓安裝包   解壓後的檔案如下圖:     把解壓後的檔案放在 、usr/local/下,如下圖      3.配置環境變數   使用root許可權登入

GO語言學習:變數的宣告賦值

在此處學習幾種典型的做法 1.和其他語言一樣的定義方法   var name string   //go定義一個字串   name="jxd";     //賦值   2.型別推斷   var name="jxd"   

SSE:伺服器傳送事件,使用長連結進行通訊-及各語言服務實現樣例

概述 傳統的網頁都是瀏覽器向伺服器“查詢”資料,但是很多場合,最有效的方式是伺服器向瀏覽器“傳送”資料。比如,每當收到新的電子郵件,伺服器就向瀏覽器傳送一個“通知”,這要比瀏覽器按時向伺服器查詢(polling)更有效率。 伺服器傳送事件(Server-Sent Events,簡稱SSE)就

SMSSDK驗證碼服務校驗介面

一、前言 有些時候開發者需要驗證服務託管自己的伺服器(開發者伺服器擁有校驗驗證碼的功能),然後可以更好處理自己的業務邏輯。因此,Mob平臺提供了此介面實現上述需求,供開發者使用。 此介面支援 SMSSDK2.0.0以上版本(包括2.0.0)。 二、摘要 本介面屬於SMSSDK簡訊

服務Http請求Requestresponse原理解析篇(1)

什麼是servlet? .Sun(oracle)公司制定的一種用來擴充套件Web伺服器功能的元件規範. 元件:在軟體開發行業,符合一定規範,實現部分功能,並且需要部署到容器中才能執行的軟體模組 容器:符合一定規範,提供元件執行環境的一個程式 什麼是HTTP協議? Hype

[Go語言學習筆記] 01 工作區GOPATH

Go語言3個環境變數: GOROOT:GO語言按照根路徑,也就是GO語言的安裝路徑。 GOPATH:若干工作區目錄的路徑。是我自己定義的工作空間。 GOBIN:GO程式生成的可執行檔案(executable file)的路徑。   工作區和GOPATH:  

自我總結:win10系統下Informatica服務的下載安裝配置

本部落格多是寫給自己和剛剛接觸這個和我一樣一竅不通的人 沒有安裝包的看看,有安裝包的跳跳 開啟https://edelivery.oracle.com/osdc/faces/Home.jspx 在搜尋框中輸入informatica,選擇第二個新增到購物車

Go語言中利用http發起GetPost請求的方法示例

關於 HTTP 協議 HTTP(即超文字傳輸協議)是現代網路中最常見和常用的協議之一,設計它的目的是保證客戶機和伺服器之間的通訊。 HTTP 的工作方式是客戶機與伺服器之間的 “請求-應答” 協議。 客戶端可以是 Web 瀏覽器,伺服器端可以是計算機上的某些網路應用程式。 通常情況下

為什麽選擇Go語言 GO語言都能什麽產品

自己的 結構 over 隨機 chat req ice nts 因此 Go語言,又稱Golang,是Google開發的一款靜態強類型、編譯型、並發型,並具有垃圾回收機制的編程語言,它的運行速度非常之快,同時還有如下特性:具有一流的標準庫、無繼承關系、支持多核;同時它

為什麼選擇Go語言 GO語言都能什麼產品

Go語言,又稱Golang,是Google開發的一款靜態強型別、編譯型、併發型,並具有垃圾回收機制的程式語言,它的執行速度非常之快,同時還有如下特性:具有一流的標準庫、無繼承關係、支援多核;同時它還有著傳說級的設計者與極其優秀的社群支援,更別提還有對於我們這些web應用的編寫者異常方便、可以避免

如何讓服務同時支援WebSocketSSL加密的WebSocket(即同時支援wswss)?

  自從HTML5出來以後,使用WebSocket通訊就變得火熱起來,基於WebSocket開發的手機APP和手機遊戲也越來越多。我的一些開發APP的朋友,開始使用WebSocket通訊,後來覺得通訊不夠安全,想要對通訊進行加密,於是自然而然地就想從ws升級到wss。在升級的過程中,就會存在舊的ws客戶端與新

C++ TCP socket程式設計中的小陷阱(服務accept 不阻塞 客戶connect 重連失敗)

在編寫一個使用C++ socket實現的TCP服務端與客戶端小軟體時接連碰上2個小陷阱, 終歸是實踐不足,基本功不紮實。 第1個問題: 服務端的accept函式沒有阻塞     程式執行到accept這裡時直接就跳了過去,根本沒停下來。     懷疑過socket

Go語言如何使用toml進行配置解析

之前介紹過如何簡單的讀取key=value的配置解析方法:讀取配置內容方法 今天來介紹一個專案中常用的toml解析方法 1.配置檔名 xxxx.toml 2.解析方式 toml.Decoder()