- 博客(11)
- 收藏
- 关注
原创 Golang数组去重&切片去重
方法一:定义一个新切片(数组),存放原数组的第一个元素,然后将新切片(数组)与原切片(数组)的元素一一对比,如果不同则存放在新切片(数组)中。package mainimport "fmt"func main() { var arr = []string{"hello", "hi", "world", "hi", "china", "hello"
2018-06-28 19:26:24 37397 1
原创 日志中出现Too many open files问题的原因及解决
这个问题经常在Linux上出现,而且常见于高并发访问文件系统、多线程网络连接等场景。之所以出现这个问题,大多数情况是你的程序没有正常关闭一些资源引起的。 在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,即通常所说的“一切皆文件”。程序操作这些文件时,系统就需要记录每个当前访问file的name、location、access authority等相关信息,这样一个实...
2018-06-24 09:04:29 19489 1
原创 golang中调用C代码
首先先上代码,看看效果。package main/*#include <stdio.h>void sayHello(){ printf("hello, world!");}*/import "C"func main(){ C.sayHello()}如果在执行时报错exec: "gcc": executable f
2018-06-17 00:59:23 15568
原创 Docker容器应用日志查看
首先了解下Docker中的日志类型,它分为两种:一种时Docker自身运行时产生的日志,另一种是Docker容器应用产生的日志。本文主要关注后者,即容器应用产生的日志如何查看。docker日志内容类型Docker Daemon的日志即Docker自身运行产生的日志,根据你系统的不同,存放在不同的位置。就不一一赘述了,详情可以看Where is the Docker daemon l...
2018-06-15 18:13:47 191213 1
原创 openssl使用教程(一)
openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用。openssl整个软件可以分为三个主要的功能部分:密码算法库、SSL协议库以及应用程序。下载和安装openssl安装openssl有两种方式,第一种是装上安装包即可运行;第二种是下载源码,自己编译。我选择最简单的方式作为介绍:使用opens...
2018-06-09 15:05:23 42276 3
原创 Go包管理工具Vendor使用教程
使用步骤首先,从go get -u github.com/kardianos/govendor下载govendor工具到本地。govendor使用时,必须保证你的工程项目放在GOPATH/src目录下。在Go命令行执行govendor init,自动生成vendor文件夹(存放你项目需要的依赖包)和vendor.json文件(有关依赖包的描述文件)。这时你查看vendor.json文件...
2018-06-08 20:34:59 34647 1
原创 go实现文件的创建、删除和读取
文件目录的创建和删除package mainimport( "fmt" "os")func main(){ //创建目录和权限 os.Mkdir("./benben",0777) //创建多级目录和设置权限 os.MkdirAll("./benben/test",0777) //删除目录
2018-06-07 19:51:19 23269 1
原创 golang bufio包中的Write方法分析
bufio包实现了带缓冲的I/O,它封装了io.Reader和io.Writer对象,然后创建了另外一种对象(Reader或Writer)实现了相同的接口,但是增加了缓冲功能。 首先来看没有缓冲功能的Write(os包中)方法,它会将数据直接写到文件中。package mainimport ( "os" "fmt")func main() { file, e...
2018-06-07 19:44:43 9901 1
原创 golang bad file descriptor
在golang中,对文件进行写操作时出现上面的错误。首先复现下这个问题。package mainimport ( "os" "fmt")func main() { file, err := os.Open("a.txt") if err != nil { fmt.Println(err)
2018-06-07 12:21:36 19210
原创 beego的定时任务
beego的toolbox模块,包括了以下几个功能:健康检查、性能调试、访问统计、计划任务。今天要了解的就是这个计划任务功能,首先你需要安装这个包,github.com/astaxie/beego/toolbox。下面我们具体看如何使用,以一个例子演示。package mainimport ( "github.com/astaxie/beego" "github.com/a...
2018-06-06 19:29:20 13847 2
原创 exec: "gcc": executable file not found in %PATH%
在执行go程序时,如果出现这个原因是因为你的电脑中没有配置C编译器造成的。而GNU的gcc编译器适合c、c++等多种编程语言。因此你只需要在你的电脑上安装这个编译器就ok了。具体操作如下:Linux或UNIX上的安装首先使用$ gcc -v命令来查看是否安装了GCC,如果安装,会显示如下消息: 如果未安装,则根据安装教程进行操作。Mac OS上的安装如果你使用的是Mac OS...
2018-06-04 12:16:57 38794 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人