在“range”语句中生成的数据的值其实是集合元素的拷贝。它们不是原有元素的引用。这就意味着更新这些值将不会修改原来的数据。我们来直接看段示例: package main import "fmt" func main() {
当我们通过把一个现有(非interface)的类型定义为一个新的类型时,新的类型不会继承现有类型的方法。 神马意思?来一段简短错误的代码: package main import "sync" type myMutex sync.Mute
项目地址:gin-rtsp 在后台的开发中遇到了对接显示摄像头视频流的需求。目前获取海康及大华等主流的摄像头的视频流使用的基本都是RTSP协议。不过HTML页面并不能直接播放RTSP协议的视频流,查询了一番各种网页播放RTSP的资料,有如下的一些方案: 插件开发播放:使用ActiveX等浏
在golang中,make和new都是分配内存的,但是它们之间还是有些区别的,只有理解了它们之间的不同,才能在合适的场合使用。 简单来说,new只是分配内存,不初始化内存; 而make即分配又初始化内存。所谓的初始化就是给类型赋初值,比如字符为空,整型为0, 逻辑值为false等。 new
tcp传输的数据是以流的形式传输的,因此就没有办法判断到哪里结束算是自己的一个消息,这样就会出现粘包问题,多个包粘在一起了 可以使用这样一个自定义的形式来解决,一个消息分为 head+body  head包括数据的长度和数据编号 , 长度和编号都是uint32类型 也就是32位
  1、golang的命名推荐使用驼峰命名法,必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。2、golang中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写
对请求的处理 Go 语言的 net/http 包提供了一系列用于表示 HTTP 报文的结构,我们可以使用它 处理请求和发送相应,其中 Request 结构代表了客户端发送的请求报文,下面让我们看 一下 Request 结构体 获取请求 URL Request 结构中的 URL 字段用于表示
框架要先把整体的结构定义好,一般都是在$GOPATH目录的src下建立自己的目录    zinterface是一些接口的定义 znet就是接口的具体实现 IServer.go package zinterface&#
一、前言   学过 Go 的都知道在 Go 语言中有四种复合数据类型:数组、切片(Slice)、哈希表(Map)和结构体(Struct),而很多 Go 初学者也很容易把数组和切片弄混淆,所以要怎么把这两个数据类型分清楚呢?       二、数组 1.简介   数组是聚合类型,是一组同类型数
当进行业务逻辑开发的时候,经常要进行封装,封装成独立的类文件,在类文件的属性中预留出函数类型的API 在调用该类文件中某些方法的时候,也根据业务需要调用类属性中的函数, 在主业务中可以传递特定的函数注册到属性中,也会被调用到 test.php  &#
目录 Marshal Unmarshal 处理json对象 @ json包实现了json对象的编解码,参见RFC 4627。Json对象和go类型的映射关系主要通过Marshal和Unmarshal函数
web应用简介 Web 应用在我们的生活中无处不在。看看我们日常使用的各个应用程序,它们要 么是 Web 应用,要么是移动 App 这类 Web 应用的变种。无论哪一种编程语言,只要 它能够开发出与人类交互的软件,它就必然会支持 Web 应用开发。对一门崭新的编程 语言来说,它的开发者首先
先链接到一个我的另一篇有关HTTP的博客 第一次访问时会有些慢~~~ http协议 因为编写 Web 应用必须对 HTTP 有所了解,所以我们对 HTTP 进行介绍 HTTP 协议简介 HTTP 超文本传输协议 (HTTP-Hypertext transfer protocol),是一个属
操作 数据库 Go 语言中的 database/sql 包定义了对数据库的一系列操作。database/sql/driver 包定义了应被数据库驱动实现的接口,这些接口会被 sql 包使用。但是 Go 语言没有提 供任何官方的数据库驱动,所以我们需要导入第三方的数据库驱动。不过我们连接数据
直接使用官方子包可以实现websocket协议, golang.org/x/net/websocket 如果在这个目录没有这个包就去github下载net库,放进这个目录$GOPATH/src/golang.org/x/net就行了 服务端代码: &
CentOS7自带的git版本1.8.3.1,这个版本有点低了。于是决定折腾升级,我首先想到的是用update更新: yum update git 结果,事与原违,还是1.8.3.1。在网上提供的升级方案,其本上都是先删除原来的,然后在官网上下载最新的,自己make,但是很折腾人啊,

推荐文章