脚本专栏 第6页

Golang中如何使用lua进行扩展详解
前言最近在项目中需要使用lua进行扩展,发现github上有一个用golang编写的lua虚拟机,名字叫做gopher-lua.使用后发现还不错,借此分享给大家,下面话不多说了,来一起
Go语言程序查看和诊断工具详解
想必Java的开发者没有不知道或者没用过jps这个命令的,这个命令是用来在主机上查看有哪些Java程序在运行的。我刚用Go语言程序的时候也很苦恼,我部署在公司服务器上
golang方法中receiver为指针与不为指针的区别详析
前言golang的指针receiver和非指针receiver的区别最近在看网站有同学提问golang中方法的receiver为指针和不为指针有什么区别,在这里我以简单易懂的方法进行说明,
Go程序性能优化及pprof使用方法详解
Go程序的性能优化及pprof的使用程序的性能优化无非就是对程序占用资源的优化。对于服务器而言,最重要的两项资源莫过于CPU和内存。性能优化,就是在对于不影响程序
golang如何利用原始套接字构造UDP包详解
前言本文主要给大家介绍了关于golang用原始套接字构造UDP包的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。RAWSOCKET介绍TCP/IP协议
详解Go中Map类型和Slice类型的传递
关于Go中Map类型和Slice类型的传递Map类型先看例子m1:funcmain(){m:=make(mapint)mdMap(m)fmt.Println(m)}funcmdMap(mmapint){m=100m=200}结
深入讲解Go语言中函数new与make的使用和区别
前言本文主要给大家介绍了Go语言中函数new与make的使用和区别,关于Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我们定义生成变量的时候,可能
利用dep代替go get获取私有库的方法教程
前言goget用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、GoogleCode和Launchpad。这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是
我放弃Python转Go语言的9大理由(附优秀书籍推荐)
前言Go大概2009年面世以来,已经8年了,也算是8年抗战。在这8年中,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应
用Go+Vue.js快速搭建一个Web应用(初级demo)
Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式。本文给大家介绍用Go+Vue.js快速搭建一个Web应用(初级demo)。环境准备:1.安装go语
go 代码的调试---打印调用堆栈的实例
本文介绍如何打印调用堆栈进行go代码的调试。打印堆栈使用的runtimepackage中的Stack()函数funcStack(buf[]byte,allbool)intStackformatsastacktraceofthecallin
浅谈golang slice 切片原理
slice介绍数组的长度在定义之后无法再次修改;数组是值类型,每次传递都将产生一份副本。显然这种数据结构无法完全满足开发者的真实需求。在初始定义数组时,我们并
Golang slice切片操作之切片的追加、删除、插入等
本文介绍了Golangslice切片操作之切片的追加、删除、插入等,分享给大家,具体如下:一、一般操作1,声明变量,go自动初始化为nil,长度:0,地址:0,nilfuncmain(){varss
golang中的net/rpc包使用概述(小结)
RPC,即RemoteProcedureCall(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。我的项目是采用基于Restful的微服务架构,随着微服务
go语言net包rpc远程调用的使用示例
rpc包提供了一个方法来通过网络或者其他的I/O连接进入对象的外部方法.一个server注册一个对象,标记它成为可见对象类型名字的服务。注册后,对象的外部方法就可以远
浅谈Go语言并发机制
Go语言相比Java等一个很大的优势就是可以方便地编写并发程序。Go语言内置了goroutine机制,使用goroutine可以快速地开发并发程序,更好的利用多核处理器资源。这篇
golang中interface接口的深度解析
一接口介绍如果说gorountine和channel是支撑起Go语言的并发模型的基石,让Go语言在如今集群化与多核化的时代成为一道亮丽的风景,那么接口是Go语言整个类型系列的基
Go语言实现遗传算法的实例代码
在没介绍正文之前先给大家补充点go语言基本知识及实例。Go语言教程Go是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由RobertG
Golang优雅关闭channel的方法示例
前言最近使用go开发后端服务,服务关闭需要保证channel中的数据都被读取完,理由很简单,在收到系统的中断信号后,系统需要做收尾工作,保证channel的数据都要被处理掉
Golang实现for循环运行超时后自动退出的方法
前言for循环是用来遍历数组或数字的。用for循环遍历字符串时,也有byte和rune两种方式.第一种为byte,第二种rune.下面话不多说了,来一起看看详细的介绍吧。Golang实
Golang常见错误之值拷贝和for循环中的单一变量详解
前言golang(中文名:go语言)是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速
Go语言中利用http发起Get和Post请求的方法示例
关于HTTP协议HTTP(即超文本传输协议)是现代网络中最常见和常用的协议之一,设计它的目的是保证客户机和服务器之间的通信。HTTP的工作方式是客户机与服务器之间的“
go语言基础语法示例
周末天气不好,只能宅在家里,于是就顺便看了一下Go语言,觉得比较有意思,所以写篇文章介绍一下。我想写一篇你可以在乘坐地铁或公交车上下班时就可以初步了解一门语
docker中部署golang项目的步骤详解
理解DockerDocker可以帮您为自己的应用程序创建一个单一的可部署“单位”。这样的单位也叫做容器,其中包含了应用程序需要的一切。例如代码(或二进制文件)、运行时
使用docker构建golang线上部署环境的步骤详解
Docker用于开发Docker不仅用于部署,它还可以用于开发。1、为什么要在开发中使用Docker主要有以下几个原因。1)一致的开发环境使用Docker,可以保证整个研发团队使用
GO语言如何手动处理TCP粘包详解
前言一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往
Go语言学习教程之声明语法(译)
前言学习一门新的语言肯定是要从他的基本语法开始,语法构成了整个程序设计的基础,从语法中我们也可以看到这门语言的一些特性,但是话说回来,语法这东西,不同的语言
Go语言学习技巧之如何合理使用Pool
前言Go1.3的sync包中加入一个新特性:Pool。这个类设计的目的是用来保存和复用临时对象,以减少内存分配,降低CG压力。typePoolfunc(p*Pool)Get()interface{}func(p
Go语言中读取命令参数的几种方法总结
前言对于一名初学者来说,想要尽快熟悉Go语言特性,所以以操作式的学习方法为主,比如编写一个简单的数学计算器,读取命令行参数,进行数学运算。本文讲述使用三种方式
Go语言学习技巧之命名规范
前言本篇主要讲述Go语言的命名规范。优秀的代码必须具备良好的可读性,而可读性的关键即在于命名风格。Go的函数、变量、常量、自定义类型、包(Package)的命名方式
Go语言每天必学之switch语句
Go语言switch语句switch语句用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上直下逐一测试,直到匹配为止。。switch语句执行的过程从上至下,直到找到
Go语言中结构体方法副本传参与指针传参的区别介绍
GO语言结构体方法跟结构体指针方法的区别首先,我定了三个接口、一个结构和三个方法:typeDeptModeAinterface{Name()stringSetName(namestring)}typeDeptModeBinte
Go语言中你所不知道的位操作用法
前言因为之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先回顾一下位操作
Golang 探索对Goroutine的控制方法(详解)
前言在golang中,只需要在函数调用前加上关键字go即可创建一个并发任务单元,而这个新建的任务会被放入队列中,等待调度器安排。相比系统的MB级别线程栈,goroutine的
golang time包下定时器的实现方法
golangtime包和python一样,golang时间处理还是比较方便的,以下介绍了golang时间日期,相关包"time"的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看
golang实现并发数控制的方法
golang并发谈到golang这门语言,很自然的想起了他的的并发goroutine。这也是这门语言引以为豪的功能点。并发处理,在某种程度上,可以提高我们对机器的使用率,提升系
Go语言中一些不常见的命令参数详解
前言这篇文章可能会有些偏见。这篇文章描述了个人会用到的Go工具参数,还有一些是我周围的人遇到的问题。如果有问题大家可以留言,你是刚开始使用Go工具么?或者你想
golang中snappy的使用场合实例详解
前言项目中遇到的压缩/解压缩需求应该是很多的,比如典型的考虑网络传输延时而对数据进行压缩传输,又或者其他各种省空间存储需求等。这次同样是遇到了类似需求,在
golang新手不注意可能会出现的一些小问题
go简介语言哲学C语言是纯过程式的,这和它产生的历史背景有关。Java语言则是激进的面向对象主义推崇者,典型表现是它不能容忍体系里存在孤立的函数。而Go语言没有去
使用Go语言解析动态JSON格式的方法
通常使用Golangencoding/json标准库可以方便的编码/解析JSON数据,但是前提需要定义struct数据结构。特别是解析未知结构的JSON数据时,原有方法很难满足需求了,本文
golang中值类型/指针类型的变量区别总结
前言值类型:所有像int、float、bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中。当使用等号=将一个变
Golang中的int类型和uint类型到底有多大?
在开始之前,我们先来看看uint与int的区别上面是图,下面是源码:packagemainimport("fmt"_"time")funcmain(){a:=byte(255)//11111111这是byte的极限,因为a:=byte(2
beego获取ajax数据的实例
1.什么是AJAXAsynchronousJavaScriptAndXML(异步JavaScript及XML),是指一种创建交互式网页应用的网页开发技术Ajax是一种在无需重新加载整个网页的情况下,能够更新
golang常用手册之切片(Slice)原理
切片,这是一个在go语言中引入的新的理念。它有一些特征如下:对数组抽象数组长度不固定可追加元素切片容量可增大容量大小成片增加我们先把上面的理念整理在这里,但
golang中json反序列化可能遇到的问题
前言在golang中,当浮点数超过一定数值的时候,golang会把它弄成科学计数法的形式进行显示(好像只要大于七位数就变成科学计数法了)varvalfloat64val=1000000fmt.Pr
golang对自定义类型进行排序的解决方法
前言Go语言支持我们自定义类型,我们大家在实际项目中,常常需要根据一个结构体类型的某个字段进行排序。之前遇到这个问题不知道如何解决,后来在网上搜索了相关问题
浅谈golang的http cookie用法
在服务端程序开发的过程中,cookie经常被用于验证用户登录。golang的net/http包中自带httpcookie的定义,下面就来讲一下cookie的一般用法以及需要注意的问题。http
golang log4go的日志输出优化详解
前言在go语言中,自身已经集成了一定log模块,开发者可以使用go语言自身的log包(import“log”)。也有不少对自身log的开源封装。对于一些简单的开发,自身的log模块
vim配置go语言语法高亮问题的解决方法
操作系统:CentOS7.3.1611_x64go版本:go1.8.3linux/amd64vim版本:version7.4.160vim配置go语言语法高亮的问题已经遇到过好几次了,每次都去查找太麻烦,这里总结下。
golang如何实现mapreduce单进程版本详解
前言MapReduce作为hadoop的编程框架,是工程师最常接触的部分,也是除去了网络环境和集群配置之外对整个Job执行效率影响很大的部分,所以很有必要深入了解整个过程。
Go语言中通过Lua脚本操作Redis的方法
前言为了在我的一个基本库中降低与Redis的通讯成本,我将一系列操作封装到LUA脚本中,借助Redis提供的EVAL命令来简化操作。EVAL能够提供的特性:可以在LUA脚本中封装
利用rpm打包上线部署golang代码的方法教程
前言:经过一段时间的测试验证,决定使用RPM来做Golang服务的部署方式.我们组关于代码的部署方式主要有这么几种,Python直接使用virtualenv+pycode的方式来上线,Lua
Go语言中切片使用的注意事项小结
前言Go语言中的slice类型可以理解为是数组array类型的描述符,包含了三个因素:指向底层数组的指针slice目前使用到的底层数组的元素个数,即长度底层数组的最大长度
详解golang中bufio包的实现原理
最近用golang写了一个处理文件的脚本,由于其中涉及到了文件读写,开始使用golang中的io包,后来发现golang中提供了一个bufio的包,使用这个包可以大幅提高文件读写的
golang实现基于channel的通用连接池详解
前言golang的channel除了goroutine通信之外还有很多其他的功能,本文将实现一种基于channel的通用连接池。下面话不多说了,来一起看看详细的介绍吧。功能*连接池中
Go语言中定时器cron的基本使用教程
cron是什么cron的意思就是:计划任务,说白了就是定时任务。我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单。前言cron是robfig开发的
Go语言 channel如何实现归并排序中的merge函数详解
前言初识go语言不到半年,我是一次偶然的机会认识了golang这门语言,看到他简洁的语法风格和强大的语言特性,瞬间有了学习他的兴趣最近学习Go,但是苦于没有项目练手
Go定时器cron的使用详解
cron是什么cron的意思就是:计划任务,说白了就是定时任务。我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单。cron表达式cron表达式是
用Go写一个轻量级的ssh批量操作工具的方法
前言这是一个轮子。大家都知道Ansible是功能超级强大的自动化运维工具,十分的高大上。太高大上了以至于在低端运维有点水土不服,在于三点:Ansible是基于Python的,
基于go+vue实现的golang每日新闻数据浏览与检索平台(推荐)
gonews是基于go+vue实现的golang每日新闻浏览与检索平台项目地址:Github线上Demo:GoNews数据来源:GoCN每日新闻项目截图部署获取新闻数据gitclonehttps://github.
详解Golang 中的并发限制与超时控制
前言上回在用Go写一个轻量级的ssh批量操作工具里提及过,我们做Golang并发的时候要对并发进行限制,对goroutine的执行要有超时控制。那会没有细说,这里展开讨论一下
Go语言同步与异步执行多个任务封装详解(Runner和RunnerAsync)
前言同步适合多个连续执行的,每一步的执行依赖于上一步操作,异步执行则和任务执行顺序无关(如从10个站点抓取数据)同步执行类RunnerAsync支持返回超时检测,系统中
阿里云go开发环境搭建过程
开通了一个阿里云来玩,记录一下环境搭建的过程运行环境ECSUbuntu16.0464位过程#切换到安装文件夹cd/usr/local#下载go#由于墙的原因,直接下载官方的可能会失败,这
Go基础Slice教程详解
Go语言切片(Slice)Go语言切片是对数组的抽象。Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组")
在Go语言中使用JSON的方法
Encode将一个对象编码成JSON数据,接受一个interface{}对象,返回byte,error)Marshal函数将会递归遍历整个对象,依次按成员类型对这个对象进行编码,类型转换规则如下
go grpc安装使用教程
gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为
Go语言中你不知道的Interface详解
前言最近在看Go语言的面向对象的知识点时,发现它的面向对象能力全靠interface撑着,而且它的interface还与我们以前知道的interface完全不同。故而整个过程不断的思
golang json性能分析详解
前言众所周知Json作为一种重要的数据格式,具有良好的可读性以及自描述性,广泛地应用在各种数据传输场景中。Go语言里面原生支持了这种数据格式的序列化以及反序列
Go语言实现自动填写古诗词实例代码
前言“白日依山尽,___”。下句自然填黄河入海流,那么“日月忽其不淹兮,___,___,恐美人之迟暮”,中间两句怎么填呢?最近工作中有个需求,就是1500道语文诗词填空题没
6行代码快速解决golang TCP粘包问题
前言什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。下面话不多说了,来一起看看详细的介绍吧。协
Go之interface的具体使用
浅显地了解了一下Go,发现Go语法的设计非常简洁,易于理解。正应了Go语言之父RobPike说的那句“Lessismore”——大道至简。下面就具体的语法特性说说我自己的体会。
Mac上Go环境和VS Code的正确安装与配置方法
Go语言是Google新推出的结合了动态语言和静态语言优势的一个新兴的语言。下面介绍一下如何在Mac系统下安装和使用这个语言。1.下载SDK到https://studygolang.com/
Go语言中slice作为参数传递时遇到的一些“坑”
前言相信看到这个题目,可能大家都觉得是一个老生常谈的月经topic了。一直以来其实把握一个“值传递”基本上就能理解各种情况了,不过最近遇到了更深一点的“小坑”
Go实现短url项目的方法示例
首先说一下这种业务的应用场景:1.把一个长url转换为一个短url网址2.主要用于微博,二维码,等有字数限制的场景主要实现的功能分析:1.把长url的地址转换为短url地址
Golang中文字符串截取函数实现原理
在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一
使用Go语言实现配置文件热加载功能
说到配置文件热加载,这个功能在很多框架中都提供了,如beego,实现的效果就是当你修改文件后,会把你修改后的配置重新加载到配置文件中,而不用重启程序,这个功能在日
golang中定时器cpu使用率高的现象详析
前言:废话少说,上线一个用golang写的高频的任务派发系统,上线跑着很稳定,但有个缺点就是当没有任务的时候,cpu的消耗也在几个百分点。平均值在3%左右的cpu使用率。
GoLang 中的随机数的示例代码
随机数我们都知道,就是计算机通过某种算法,“随机”的生成一个数字。很多编程语言都有内置的方法来生成随机数,那么GoLang中是怎样一种情况呢?伪随机数我们都知道
利用 Go 语言编写一个简单的 WebSocket 推送服务
本文中代码可以在github.com/alfred-zhong/wserver获取。背景最近拿到需求要在网页上展示报警信息。以往报警信息都是通过短信,微信和App推送给用户的,现在要让登
深入Golang之context的用法详解
context在Golang的1.7版本之前,是在包golang.org/x/net/context中的,但是后来发现其在很多地方都是需要用到的,所有在1.7开始被列入了Golang的标准库。Context包专
如何编写Go语言中间件的实例教程
引言web开发的背景下,“中间件”通常意思是“包装原始应用并添加一些额外的功能的应用的一部分”。这个概念似乎总是不被人理解,但是我认为中间件非常棒。首先,一
利用GO语言实现多人聊天室实例教程
前言运用go里面的net包中的相关方法来实现一个基于tcp的简单多人聊天室,用一个服务器来管理,主要反馈客户端是否连接成功并显示客户端输入的内容,并且发送给每一个
golang中for循环遍历channel时需要注意的问题详解
前言for循环是Go语言唯一的循环结构,最近在做一个基于RabbitMQ的应用,由于官方的qos没有golang的版本,所以出了一点问题。问题代码如下:_,ch,err:=component.NewR
golang中struct和interface的基础使用教程
前言本文主要给大家介绍了关于golang中struct和interface的相关内容,是属于golang的基本知识,下面话不多说了,来一起看看详细的介绍吧。structstruct用来自定义复
Go如何实现HTTP请求限流示例
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流!为了保证在业务高峰期,线上系统也能保证一定的弹性和稳定性,最有效的方案就是进行服务降级了,而限流
golang的httpserver优雅重启方法详解
前言去年在做golangserver的时候,内部比较头疼的就是在线服务发布的时候,大量用户的请求在发布时候会被重连,在那时候也想了n多的方法,最后还是落在一个github上的
解读golang plugin热更新尝试
当我们在使用php开发的时候,基本不需要关心热更新这件事的,因为PHP本身已经帮我处理好了,只需要提交代码,PHP重新解释一遍即可。而go则是静态语言,编译后得到的是
Golang信号处理及如何实现进程的优雅退出详解
Linux系统中的信号类型各操作系统的信号定义或许有些不同。下面列出了POSIX中定义的信号。在linux中使用34-64信号用作实时系统中。命令man7signal提供了官方的信
golang使用信号量热更新的实现示例
配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等
浅谈go-restful框架的使用和实现
REST(RepresentationalStateTransfer,表现层状态转化)是近几年使用较广泛的分布式结点间同步通信的实现方式。REST原则描述网络中client-server的一种交互形式,即
golang package time的用法具体详解
在我们编程过程中,经常会用到与时间相关的各种务需求,下面来介绍golang中有关时间的一些基本用法,我们从time的几种type来开始介绍。时间可分为时间点与时间段,go
浅谈go语言renderer包代码分析
renderer是Go语言的一个简单的、轻量的、快速响应的呈现包,它可以支持JSON、JSONP、XML、HYAML、HTML、File等类型的响应。在开发web应用或RESTFulAPI的时候,这个
Go语言开发区块链只需180行代码(推荐)
区块链开发用什么语言?通过本文你将使用Go语言开发自己的区块链(或者说用go语言搭建区块链)、理解哈希函数是如何保持区块链的完整性、掌握如何用Go语言编程创造并
Go Web框架gin的入门教程
目前,基于Go的web框架也可谓是百花齐放了,之所以选择gin,没其他原因,就只是因为其在github上的star数是最多的,而且仅仅从README看,其文档也是相当丰富的。安装gi
Golang 统计字符串字数的方法示例
比如新浪微博发微博的输入框有一个已输入字数的统计,它的规则推测是:汉字和中文标点算1个字数,英文和其他符号算0.5个字数。不足1个字算1个。大家可以去微博体验一
在Golang中使用Redis的方法示例
周五上班的主要任务是在公司老平台上用redis处理一个队列问题,顺便复习了一下redis操作的基础知识,回来后就想着在自己的博客demo里,用redis来优化一些使用场景,学
Go语言中TCP/IP网络编程的深入讲解
前言大家可能乍一看,通过TCP/IP层连接两个进程会感觉可怕,但是在Go语言中可能比你想象的要简单的多。下面话不多说了,来一起看看详细的介绍吧。TCP/IP层发送数据的
Golang中的路由使用详解
之前有篇文章比较浅显的分析了一下golang的服务器如何实现,还有Handler,DefaultServeMux,HandlerFunc的用处。我们现在已经明白了DefaultServeMux就是存放pattern
详解Go语言RESTful JSON API创建
RESTfulAPI在Web项目开发中广泛使用,本文针对Go语言如何一步步实现RESTfulJSONAPI进行讲解,另外也会涉及到RESTful设计方面的话题。也许我们之前有使用过各种各样
浅谈Golang中创建一个简单的服务器的方法
我们知道,golang中的net/http包对网络的支持非常好,这样会让我们比较容易的建立起一个相对简单的服务器,我们来看一段代码funcsayHi(whttp.ResponseWriter,r*http

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。