在“range”语句中生成的数据的值其实是集合元素的拷贝。它们不是原有元素的引用。这就意味着更新这些值将不会修改原来的数据。我们来直接看段示例:
package main
import "fmt"
func main() {
当我们通过把一个现有(非interface)的类型定义为一个新的类型时,新的类型不会继承现有类型的方法。
神马意思?来一段简短错误的代码:
package main
import "sync"
type myMutex sync.Mute
目录
kratos微服务框架学习笔记一(kratos-demo)kratos本体
demo
kratos微服务框架学习笔记一(kratos-demo)
今年大部分时间飘过去了,没怎么更博和githu
项目地址: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中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写
在一个应用中经常需要有一个配置文件,可以对代码中的参数进行配置,可以使用一个json文件来对应一个struct的对象,进行全局配置
建一个conf/zinx.json作为配置文件
{
"Name":"zinxServer",
对请求的处理
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),是一个属
目录
nats的消息传递模型
What is NATS
主题式消息(Subject-Based Messaging)
发布订阅(Publish-Subscribe)
请求应答(Request
操作 数据库
Go 语言中的 database/sql 包定义了对数据库的一系列操作。database/sql/driver
包定义了应被数据库驱动实现的接口,这些接口会被 sql 包使用。但是 Go 语言没有提
供任何官方的数据库驱动,所以我们需要导入第三方的数据库驱动。不过我们连接数据
无畏年少青春,迎风潇洒前行
点赞再看,养成习惯
本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。
前言
人生是一个漫
直接使用官方子包可以实现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,但是很折腾人啊,