go语言实现http服务端与客户端

go语言的net/http包的使用非常的简单优雅

(1)服务端

package main  
 
import (  
    "flag"  
    "fmt"  
    "net/http"  
)  
 
func main() {  
    host := flag.String("host", "127.0.0.1", "listen host")  
    port := flag.String("port", "80", "listen port")  
 
    http.HandleFunc("/hello", Hello)  
 
    err := http.ListenAndServe(*host+":"+*port, nil)  
 
    if err != nil {  
        panic(err)  
    }  
}  
 
func Hello(w http.ResponseWriter, req *http.Request) {  
<p>   w.Write([]byte("Hello World"))</p>}  

http.HandleFunc用来注册路径处理函数,会根据给定路径的不同,调用不同的函数

http.ListenAndSercer监听iP与端口,本机IP可以省略不写,仅书写冒号加端口,如http.ListenAndSercer(“:8080”, nil)

路径处理函数,参数必须为w http.ResponseWriter和 req *http.Request且不能有返回值

测试结果:成功

(2)客户端

package main  
 
import (  
    "fmt"  
    "io/ioutil"  
    "net/http"  
)  
 
func main() {  
    response, _ := http.Get("http://localhost:80/hello")  
    defer response.Body.Close()  
    body, _ := ioutil.ReadAll(response.Body)  
    fmt.Println(string(body))  
}  

测试结果:成功

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2017-06-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Felix的技术分享

在AndroidStudio编译过程中遇到Error:duplicate files during packaging of APK问题的解决方法

26630
来自专栏博客园

Asp.Net Web API(四)

    如果Web API控制器抛出一个未捕捉的异常,会发生什么呢?在默认情况下,大多数异常都会转换为一个带有状态码500的内部服务器错误的HTTP响应。

22020
来自专栏古时的风筝

我们常说的 CAS 自旋锁是什么

31320
来自专栏DOTNET

学会WCF之试错法——客户端调用基础

1当客户端调用未返回结果时,服务不可用(网络连接中断,服务关闭,服务崩溃等) 客户端抛出异常 异常类型:CommunicationException Inne...

28680
来自专栏MasiMaro 的技术博文

Vista 及后续版本的新线程池

在上一篇的博文中,说了下老版本的线程池,在Vista之后,微软重新设计了一套线程池机制,并引入一组新的线程池API,新版线程池相对于老版本的来说,它的可控性更高...

17230
来自专栏乐百川的学习频道

设计模式(十八) 中介者模式

当我们进行多人聊天的时候, 如果程序写成一对一的结构,那么当人数一多的时候程序就无法维护了。所以更好的做法就是抽象出一个聊天服务器,每个用户只和服务器进行通信。...

23160
来自专栏進无尽的文章

编码篇-数据管理者Model

      Model是数据管理者和持有者,是数据解析层剥离ViewConyroller的关键所在。同是也是cell滑动不卡(省去每次解析)的好方式。

10830
来自专栏java 成神之路

FutureTask 源码分析

39470
来自专栏武培轩的专栏

迅雷面经汇总

实现多态的技术称为 :动态绑定,是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。

14520
来自专栏技术记录

nafos:使用netty同端口监听tcpSocket和websocket

首先我们先添加好SocketChooseHandle(),这是我们的handle判断处理器。如果判断协议是以GET /开头的话,那么必定是websocket的连...

85530

扫码关注云+社区

领取腾讯云代金券