mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2026-03-11 12:21:10 +00:00
修复代码前的包路径
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
|
||||
Go語言的內置庫使得寫一個類似fetch的web服務器變得異常地簡單。在本節中,我們會展示一個微型服務器,這個服務器的功能是返迴當前用戶正在訪問的URL。比如用戶訪問的是 http://localhost:8000/hello ,那麽響應是URL.Path = "hello"。
|
||||
|
||||
<u><i>gopl.io/ch1/server1</i></u>
|
||||
```go
|
||||
gopl.io/ch1/server1
|
||||
// Server1 is a minimal "echo" server.
|
||||
package main
|
||||
|
||||
@@ -48,8 +48,8 @@ URL.Path = "/help"
|
||||
|
||||
在這個服務的基礎上疊加特性是很容易的。一種比較實用的脩改是爲訪問的url添加某種狀態。比如,下面這個版本輸出了同樣的內容,但是會對請求的次數進行計算;對URL的請求結果會包含各種URL被訪問的總次數,直接對/count這個URL的訪問要除外。
|
||||
|
||||
<u><i>gopl.io/ch1/server2</i></u>
|
||||
```go
|
||||
gopl.io/ch1/server2
|
||||
// Server2 is a minimal "echo" and counter server.
|
||||
package main
|
||||
|
||||
@@ -89,8 +89,8 @@ func counter(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
下面是一個更爲豐富的例子,handler函數會把請求的http頭和請求的form數據都打印出來,這樣可以使檢査和調試這個服務更爲方便:
|
||||
|
||||
<u><i>gopl.io/ch1/server3</i></u>
|
||||
```go
|
||||
gopl.io/ch1/server3
|
||||
// handler echoes the HTTP request.
|
||||
func handler(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintf(w, "%s %s %s\n", r.Method, r.URL, r.Proto)
|
||||
@@ -156,8 +156,6 @@ HandleFunc函數的第二個參數是一個函數的字面值,也就是一個
|
||||
|
||||
做完這些脩改之後,在瀏覽器里訪問 http://localhost:8000 。每次你載入這個頁面都可以看到一個像圖1.3那樣的動畵。
|
||||
|
||||
|
||||
**練習 1.12:** 脩改Lissajour服務,從URL讀取變量,比如你可以訪問 http://localhost:8000/?cycles=20 這個URL,這樣訪問可以將程序里的cycles默認的5脩改爲20。字符串轉換爲數字可以調用strconv.Atoi函數。你可以在godoc里査看strconv.Atoi的詳細説明。
|
||||
|
||||

|
||||
|
||||
**練習 1.12:** 脩改Lissajour服務,從URL讀取變量,比如你可以訪問 http://localhost:8000/?cycles=20 這個URL,這樣訪問可以將程序里的cycles默認的5脩改爲20。字符串轉換爲數字可以調用strconv.Atoi函數。你可以在godoc里査看strconv.Atoi的詳細説明。
|
||||
|
||||
Reference in New Issue
Block a user