![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
TizzyGoodhealth
反派角色
展开
-
go web、三行代码优雅上传与下载
go web、三行代码优雅上传与下载在日常开发中对文件操作是避免不了的,上传啊下载啊复制啊等等在我们来学习如何对文件来操作废话不多说,看文档哈哈哈哈哈哈打开http包可以搜索File可以看到如下,似乎发现了什么???点进去一看,好家伙武功秘籍api啊于是借着我那月薪3500Java开发中的一些经验,上传文件emmmm是不是得先来个表单?写个表单?写毛线,老子用Postman 页面都懒得写了,就这么决定了,此时嘴角疯狂张扬,漏出会心一笑,嘻嘻嘻嘻嘻…先把api定好,先来个两个文件打开白原创 2021-12-20 22:47:22 · 677 阅读 · 2 评论 -
Gin获取请求参数
Gin获取参数Gin获取参数表单提交,json提交以及Restful参数提交package mainimport ( "encoding/json" "fmt" "github.com/gin-gonic/gin" "net/http")func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong",原创 2021-12-19 19:08:41 · 1094 阅读 · 0 评论 -
go web、感受一下go语言的代码简洁与优雅
go实现web页面以及提交表单go实现web开发提交表单不管是开发还是代码量还是部署来说,轻量,简便,只需要简单几行代码就可以实现一个表单提交,也不需要像Java中需要web容器。基于现在开发来说,几乎都是前后端分离项目,我们这里使用最简单的页面提交方式,这儿返回一个页面,然后提交一个表单,感受一下go语言的简洁。准备需要一个登录页面(表单)需要提交一个表单项目目录代码示例登录页面<html><body><h2>登录页</h2>原创 2021-12-19 18:20:00 · 5339 阅读 · 12 评论 -
go安装Gin框架遇到的一些问题
go安装Gin框架问题描述首先使用Gin框架时候需要安装一些包默认情况下会报错gingo get github.com/gin-gonic/gin: module github.com/gin-gonic/gin: Get “https://proxy.golang.org默认情况下使用的是国外的代理对此我们需要设置goproxy.io代理windows下# 设置goproxy.io代理go env -w GOPROXY="https://goproxy.io"# 设置GO111M原创 2021-12-19 18:04:48 · 975 阅读 · 1 评论 -
go语言启动一个http服务
go语言中模拟启动一个http服务很简单,由于go语言中net包提供了http服务,只需要2行代码就能简单实现一个http服务好了废话不多说了 ,上代码package mainimport ( "fmt" "net/http")//go语言实现 http服务端func main() { //注册路由 http.HandleFunc("/",sayhello); //建立监听 err := http.ListenAndServe("127.0.0.1:8080",nil) i原创 2021-12-12 20:48:51 · 1962 阅读 · 0 评论 -
go语言网络编程TCP和UDP
TCP和UDP属于网络七层模型中传输层TCP协议TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议,因为是面向连接的协议,数据像水流一样传输,会存在黏包问题。UDP协议Go语言实现TCP通信一个TCP服务端可以同时连接很多个客户端,多个客户端可以同时像服务端发送消息,go语言中我们也可以使用线程来处理模拟多个客户端原创 2021-12-12 19:22:09 · 1794 阅读 · 0 评论 -
go语言线程与通道
go语言线程与通道线程goroutineGo语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成。Go语言还提供channel在多个goroutine间进行通信。goroutine和channel是 Go 语言秉承的 CSP(Communicating Sequential Process)并发模式的重要实现基础。Go原创 2021-12-11 23:26:16 · 599 阅读 · 0 评论 -
go语言反射
go语言反射反射的类型对象(reflect.Type)在Go程序中,使用reflect.TypeOf()函数可以获得任意值的类型对象(reflect.Type),程序通过类型对象可以访问任意值的类型信息。反射的类型(Type)与种类(Kind)在使用反射时,需要首先理解类型(Type)和种类(Kind)的区别。编程中,使用最多的是类型,但在反射中,当需要区分一个大品种的类型时,就会用到种类(Kind)。例如,需要统一判断类型中的指针时,使用种类(Kind)信息就较为方便。Go程序中的类型(Type原创 2021-12-11 14:17:06 · 230 阅读 · 0 评论 -
go语言文件读写
读文件三种方式读文件还是很方便的,go语言中直接提供IoUtile包可以直接读取,也可以使用原生代码读取package mainimport ( "fmt" "io" "io/ioutil" "os")/**读取文件 */func main() { fileName := "/Users/pilgrim/Desktop/go/TestDemo/src/file/a.txt"; str := readFile(fileName) fmt.Printf("读取到的文件内容是:原创 2021-12-05 18:19:27 · 750 阅读 · 0 评论 -
go语言时间以及相关api
go常用时间api 以及日期格式化以及定时器唯一让人蛋疼的是日期格式化 必须是GO语言诞生日"2006-01-02 15:04:05"相当于其他语言yyyy-MM-dd HH:mm:ss sss实例package mainimport ( "fmt" "time")func main() { now := time.Now() fmt.Println("%#v\n",now) fmt.Println(now) fmt.Println("年",now.Year()) fmt.P原创 2021-12-04 22:51:42 · 304 阅读 · 0 评论 -
go语言之JSON序列化
在go语言中JSON序列化跟Java中几乎是一样的,需要注意的是go语言包管理机制的原因,go变量和引入包首字母需要大写,表示全部宝可以引用以下示例以及调用API,go语言序列化后返回的是byte字节数组,需要额外转stringpackage mainimport ( "encoding/json" "fmt")/**json 序列化和反序列化 */func main() { var s = Student{"张三","北京"} //序列化 b, err :=原创 2021-12-04 21:23:56 · 1172 阅读 · 0 评论 -
go语言使用嵌套体实现继承
go语言中不像java中使用extend关键字直接继承类实现继承在 go语言,可以通过嵌套实现继承package mainimport "fmt"/**嵌套体实现继承*/func main() { var d1 = dog{2, animal{name: "旺财"}} d1.move() // 相当于 d1.animal.move() d1.wangwang() fmt.Println(d1)}type animal struct { name string}fun原创 2021-12-04 16:43:20 · 629 阅读 · 0 评论 -
go语言中使用type创建对象
go语言中可以通过关键字type来定义一个结构体为对象,不像Java中一个类可以表示一个对象如下//不像java需要指定 各种参数的构造函数type Student struct { name string sex int8 age int8 classId string}类型在后面 字段在前面,不像java中类型在前面 字段在后面,类型前还需要修饰符,然后配合get set设置属性值相对于在go语言中简洁多了,不管是创建对象 还是设置属性值都很简洁//类似ja原创 2021-12-04 16:56:29 · 941 阅读 · 0 评论