Gin 快速上手
使用 Go 搭建 Web 后端,最简单的就是使用原生的 net/http
库了,下面是一个简单的例子:
1 | package main |
运行代码之后,便会在8080端口处监听,接收客户端的请求,然后返回响应,访问 http://localhost:8080
即可以访问到对应的内容。
使用 Go 搭建 Web 后端,最简单的就是使用原生的 net/http
库了,下面是一个简单的例子:
1 | package main |
运行代码之后,便会在8080端口处监听,接收客户端的请求,然后返回响应,访问 http://localhost:8080
即可以访问到对应的内容。
Golang不支持在函数定义的时候声明默认值,也就是说我们不能够使用类似下面的代码
1 | func New(addr string="localhost", port string="8080"){ |
并且也不支持函数的重载,函数名不能够重复,无法根据需要的参数数量创建不同的函数形式,也就是我们不能使用下面的方式
1 | func New(addr string){ |
Docker
是一个现代化的容器技术,使用它我们可以轻松的将应用进行打包,然后移植到其他系统,不必要在不同设备上反复配置对应的环境。
下面介绍一下基本使用:
Docker 可以允许你在容器中运行应用程序,使用 docker run
可以在容器中运行一个应用程序。
1 | docker run ubuntu:18.04 /bin/echo "Hello world" |
run
: 表示运行一个容器ubuntu:18.04
: 指定要运行的镜像,Docker 首先在本地主机上查找对应的镜像是否存在,如果不存在的话,那么会从远程镜像仓库 Docker Hub
中下载公共镜像,如果没有指定后面的 TAG,那么默认情况下使用的是 latest/bin/echo "Hello world"
: 在启动的容器中执行的命令HTTP
是 Hypertext Transfer Protocol
的缩写,也就是超文本标记协议,多数的 HTTP 协议运行在 TCP 上,新型的 HTTP3 协议运行在 UDP 上。
简单来说,HTTP 协议就是一个 客户端与服务端
通信的协议,客户端发送数据给服务端,那么服务端要认识这些数据表示什么,服务端返回给客户端的数据,客户端也要认识这些数据
本节主要内容位于 runtime/slice.go
, 基于 go1.16.4/amd64
创建一个切片十分简单,如下即可创建一个长度为 10 的 int
切片
1 | slice := make([]int, 10) |
但是具体是如何实现的呢,我们慢慢来看。
在 slice.go
中首先定义的就是 slice
结构体
1 | type slice struct { |
这样一看,其实 slice
也不是那么神奇,结构体中包含了一个指向实际数据的指针array
,以及切片的长度 len
和切片的容量 cap
。
切片作为参数进行传递的时候,传递的不是整个结构体,实际上是传入了 slice
中的 array
数据指针,如果在函数内部修改了切片,那么同样会修改外部的切片。