Web 服务器
包 http 通过任何实现了 http.Handler
的值来响应 HTTP 请求:
package http type Handler interface { ServeHTTP(w ResponseWriter, r *Request) }
在这个例子中,类型 Hello
实现了 `http.Handler`。
访问 http://localhost:4000/ 会看到来自程序的问候。
注意: 这个例子无法在基于 web 的指南用户界面运行。为了尝试编写 web 服务器,可能需要安装 Go。
package main
import (
"fmt"
"net/http"
)
type Hello struct{}
func (h Hello) ServeHTTP(
w http.ResponseWriter,
r *http.Request) {
fmt.Fprint(w, "Hello!")
}
func main() {
var h Hello
http.ListenAndServe("localhost:4000", h)
}
图片
Package image 定义了 Image
接口:
package image type Image interface { ColorModel() color.Model Bounds() Rectangle At(x, y int) color.Color }
(参阅文档了解全部信息。)
同样,`color.Color` 和 color.Model
也是接口,但是通常因为直接使用预定义的实现image.RGBA
和 image.RGBAModel
而被忽视了。这些接口和类型由image/color 包定义。
package main
import (
"fmt"
"image"
)
func main() {
m := image.NewRGBA(image.Rect(0, 0, 100, 100))
fmt.Println(m.Bounds())
fmt.Println(m.At(0, 0).RGBA())
}