Go语言中文网 为您找到相关结果 81

golang list slice 删除其中一项比对

slice可以动态添加项(使用append()函数),但是没有删除项的函数。变通方法,可以使用slice重新组合的方式删除一个或多个项,slice是引用类型,存的是指针,性能上不会有太多影响,示例如下:package mainimport "fmt"func main() { s := []int{11, 22, 33, 44, 55, 66} // 原始slice i := 2 // 待删除项索引 s = append(s[:i], s[i+1:]...) // 最后面的“...”不能省略 fmt.Println(s) // 数据结果 [11 22 44 55 66]} 有人回答的很好: 这样是可以实现。不过从slice这种数据结构来看,本身并不适合做删除操作。抛开语言,只谈数据结构,我们...阅读全文

博文 2015-06-10 19:00:01 panda1986_meng

golang的cgo支持调用C++的方法

1)swift,貌似官网的推荐 2)extern "C" 我使用后者,用起来比较爽,上代码 c.h 1 #pragma once 2 3 #ifdef __cplusplus 4 extern "C" { 5 #endif 6 void test(); 7 #ifdef __cplusplus 8 } 9 #endif c.c 1 #include "cplus.hpp" 2 #include "c.h" 3 4 void test() { 5 A *a = new B(); 6 a->test(); 7 } cplus.hpp 1 #pragma once 2 3 class A { 4 public: 5 virtual void test(); 6 }; 7 class B: publ...阅读全文

博文 2015-03-12 03:00:01 sohoer2003

Go语言可变参数函数,何时该使用省略号(...)

今天的一个例子中发现,对于在调用可变参数函数时,不是总能使用省略号将一个切片展开,有时候编译器可能会报错,为了清除的说明这个问题,我用几个小例子一步一步说明。 1、提出假想的需求 假如想要在一堆数据中找出最小的一个,该怎么做? 如果数据的类型为int,那么我可以这么做: func MinimumInt(first int, others ...int) int { min := first for _, value := range others { if value < min { min = value } } return min } 上述的MinimumInt函数的第二个参数声明为:others …int,表示这是一个可变参数,可以给它传入0个或者任意多个int型参数,在花栗鼠内部,...阅读全文

博文 2015-11-02 22:00:05 CMbug

Mac下go环境变量配置

1.0 查看是否存在bash_profile cd ~/.bash_profile 2.0 如果不存在则创建bash_profile Mac环境配置文件 touch ~/.bash_profile 3.0 打开bash_profile open -t ~/.bash_profile 4.0 添加go 环境变量:(等于号后面的为你的项目存储目录) GOPATH=website/apple/apps 5.0 warning:如果因为创建bash_profile 使命令行ls命令失效而造成go语言无法安装请关注 5.1 如上打开bash_profile 并加入环境变量 export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X1...阅读全文

Go语言(服务器开发):实现最简单的HTTP GET/POST接口

Go语言提供了http包,可以很轻松的开发http接口。以下为示例代码: package webserver import ( "encoding/json" "fmt" "net/http" "time" ) func WebServerBase() { fmt.Println("This is webserver base!") //第一个参数为客户端发起http请求时的接口名,第二个参数是一个func,负责处理这个请求。 http.HandleFunc("/login", loginTask) //服务器要监听的主机地址和端口号 err := http.ListenAndServe("192.168.1.27:8081", nil) if err != nil { fmt.Printl...阅读全文

博文 2015-06-17 23:01:43 books1958

golang中如何使用http长链接(client端)

RESTFUL请求大部分都可以用短连接,即三次握手建立链接,交换数据完成后,释放掉的链接,短链接不会长时间占用端口号,实际项目中还会用到另一种,长链接,比如客户端发送RESTFUL请求,需要监测某一资源变化情况,服务端提供watch机制,在资源有变化时通知client端。 那么client端,相对于短链接,长链接应该怎么写呢? 和短链接基本一样,只需要循环读取server端返回的response即可。 package main import ( "fmt" "io" "log" "net/http" ) func main() { request, err := http.NewRequest("GET", "http://www.example.com/", nil) if err != ...阅读全文

博文 2017-08-15 08:05:09 风千寻艾

数据宝祝您开工大吉,新年新气象,优质接口来报道!

今日向您推荐: 1、银行卡四要素认证:银行卡号、姓名、身份证号、手机号四项输入进行验证,支持国内全部银联卡,实时、全五星好评,用于金融风控、智慧出行(网约车、租车)。 2、学历信息查询:输入姓名、身份证返回入学毕业时间、学校、专业等,直连数据,覆盖01年以后的全国大专以上学历查询。用于个人信用分析,推断收入和还款能力;婚庆、相亲、社交网站会员信息验证以及人事招聘信息核实。 3、京东查询:输入京东账户、密码及验证码返回京东账户信息、会员等级、订单信息等;用于小额信贷等网贷平台进行个人信用分析,消费及还贷能力评估等。 4、实名认证(人像):输入姓名及身份证号匹配一致返回身份证照片;直连数据,覆盖全国,应用于涉及身份认证、资金交易的所有平台。 现在注册认证,即可获...阅读全文

微信中继服务器https://github.com/1046102779/wx_relay_server

# 微信中继服务器 目的:其他服务采用拉服务模式,通过rpcx进行rpc通信,获取相关微信token. 用户微信公众号第三方平台刷公众号平台和托管的公众号appid的相关token, 该服务不能停超过10分钟. 主要刷公众号第三方平台的component_access_token和preauthcode, 公众号的authorizer_access_token和authorizer_refresh_token 存储方式:etcd存储rpc服务地址和微信公众号平台和公众号token, 使用etcd的ttl特性,并watch并刷新 ## 新增服务的可靠性措施 1. 服务启动后,立即读取etcd中的所有微信公众平台和公众号数据,加载到内存中。 并监听所有token ...阅读全文

19年第41周:Go语言 微信小程序获取手机号 -加密数据解密算法-AES-128-CBC

一、简介 获取手机号 获取微信用户绑定的手机号,需先调用 wx.login 接口。 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。 注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。 二、参考官方Python示例复写Golang版本 NOTE: 微信官方没有给Golang版本,但给了C++,PHP,Node,Python版本。这里选用Python来作为参考 python版本和Golang版本对比 三、参考资料 微信小程序开发指南-获取手机号 微信小程序开发指南-加密数据解密算法-官方案例下...阅读全文

博文 2019-10-07 19:32:44 aside section ._1OhGeD

golang xlsx读写

func TestRequest_LoadFromRemote2(t *testing.T) { xlsxfile2, err := xlsx.OpenFile("E:/apihub/1数据核查/信息核查数据.xlsx") if err != nil{ fmt.Println( err) return } for _, sheet := range xlsxfile2.Sheets { for indexr, row := range sheet.Rows { if indexr < 2 { continue } //if indexr >= 3{ // break //} fmt.Print(fmt.Sprint(indexr)+"姓名:",strings.Trim(row.Cells[1...阅读全文

博文 2018-06-21 15:34:38 Feng_Sir

购买国内虚拟主机怎样选择机房?需要注意什么?

购买了国内虚拟主机,怎样选择机房,成了大家头疼的事情,毕竟没有好的机房去辅助,再好的虚拟主机也不能很好的发挥。 国内虚拟主机机房的选择主要考虑是速度,安全等,另外举例网站访客的物理位置靠近,举例越短访问速度快而且稳定。 分两方面考虑,地理位置和是否备案 从地理位置上。一般情况下我们建议选择离自己目标用户所在地域最接近的数据中心,这样可以进一步提升用户访问速度。比如:华北用户推荐选北京和青岛地域,华东用户选杭州地域,华南地域用户可选广州和深圳地域。机房越近,你搭建的网站就经常有秒开的刺激。与自己的电脑本地搭建的服务器相近。 从备案与否。无论是华北机房用户,还是其他国内机房,国内机房都需要按照工信部的要求来操作,对网站进行备案,域名有备案号则可直接购买主机使用。如购买的国...阅读全文

除痛指南 | P2P公司贷前风控福利贴

最近,随着数据宝的壮大和业务多样化 (骄傲脸)宝妹接到了很多case, 宝妹发现了一些相同的烦恼 临近年末,P2P公司生意火爆, 后台提出了各式各样的烦恼或需求 但细心的宝妹还是做了一个针对性的总结; 借此,宝妹还申请到了这次的专场福利, P2P公司-李先生 宝妹,我们在核查客户信息时经常碰到盲点, 被一些假身份、假号码糊弄,求帮助! 您的问题,宝妹已经在后台收到了呢, 对于这位P2P小伙伴的烦恼, 我们为您推荐以下接口 给您一面“照妖镜”助您让假身份无所遁形, 精准辨别借贷身份真实性。 ![1..jpg](http://studygolang.qiniudn.com/161124/f46f67d68ff96fab7cd54524a96379fb...阅读全文

美团云老板和老板娘去度假,员工任性!5折券再送5天!!!

【活动介绍】值双11来临之际,美团云特别推出云主机,网络,数据库,负载均衡等产品的5折优惠券,以及对象存储3折优惠券。同时还推出“买就返享5折”,“以及分享得返利”等特惠活动,欲知详情,就请戳下方的活动链接吧! 悄悄告诉你~大老板和老板娘去度假了!我们任性的将活动延期5天! 【领券地址】: https://mos.meituan.com/activity1510?site=golang&location=homepage&campaign=20151026sales ![5tian.jpg](http://studygolang.qiniudn.com/151109/b3eeebbde478e6396d00b2c095365dc3.jpg) 【活动时间】10月26日至...阅读全文

Golang老男孩Go语言第一期

微信号:new_video qq号码:2381392963资料来源网络,仅供学习使用,请勿传播。如有侵权,请联系删除。 课程介绍: Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(RobPike)说:我们之所以开发Go,是因为过去10...课程截图...阅读全文

博文 2019-08-20 16:02:57 天天向上学习

Golang实现通过微信接收告警消息

首先需要注册微信企业公众号,选团队的可以不使用认证 如图进入公众平台 选择设置.里面有CorpID 和 SecretID 这个发送的时候需要用到. 下面就是使用提供的API 开始发送信息了.具体自己可以看开发者中心里面的文档. package main import ( "bufio" "bytes" "encoding/json" "errors" "flag" "io/ioutil" "net/http" "os" ) const ( //发送消息使用导的url sendurl = `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=` //获取token使用导的url get_token = `https://q...阅读全文

博文 2016-09-12 16:00:02 fyxichen

数据宝年末用户答谢“惠”~~全场接口2折起!助力您节前再创业绩高峰!

今日向您推荐: 1、黑名单综合验证(个人):姓名和身份证号输出黑名单信息详情,4000万+覆盖数据实时更新,用于网贷咨询、担保,网贷平台分析用户的信用状态,规避风险; 2、在校学籍验证:输入姓名、身份证、院校名称等验证学籍信息,覆盖全高高校大学生,信用和个人能力评估,适用于校园网贷、招聘等支付能力分析及信息核实。 3、个人实名认证:输入姓名及身份证号进行匹配验证,覆盖全国,全行业、全领域适用,尤其是金融网贷、电商行业(淘宝、共享单车、打车、直播平台)等卖家的线上金融交易、个人信息验证。 4、手机号状态查询:手机号输出在网、停机或销号等状态;数据库对接三大运营商,一手数据源,覆盖全国准确率96%以上适用于金融、通讯、社交、航空、物流、旅游等APP、网站注册,软件验证,商...阅读全文

defer的执行顺序与时机

我们知道defer会在函数结束时执行,那么首先思考两个问题: 如果有多个defer,执行顺序是怎样的? defer是在return之前还是之后执行的?如果defer执行的内容对返回值进行了修改,return结果是否会改变? 多个defer的执行顺序 通过下面这个个例子,我们看下defer的执行顺序: package main import ( "fmt" ) func main() { defer fmt.Println("main defer1") test() defer fmt.Println("main defer2") } func test() () { defer func() { fmt.Println("test defer1") }() defer func() { fm...阅读全文

博文 2019-08-21 00:02:40 moonbamboo

json字符串经过json.Unmarshal与json.Marshal出来字符串与最初的字符串顺序不一致问题

``` func main() { src := `{"iss":"magic-ios-1.0.0","iat":1487000471,"jti":"4861ed10","rbd":"dbac2c5f","uri":"/auth/hello","ttu":""}` var params interface{} err := json.Unmarshal([]byte(src), ¶ms) if err != nil { fmt.Printf("%v\n", err) return } p, _ := json.Marshal(params) fmt.Printf("%v, %s\n", params, p) } ``` 问题描述: ...阅读全文

网络安全 - 制作免杀

介绍:之前使用 小七免杀工具包 来作免杀(有空我会上传到网盘上),就是对PE(.bat、.exe这类)文件中出现的特征码进行替换修改,修改方法:等价替换指令,字符串修改大小写等。 现在开源的东西比起手工,免杀率高,速度快,功能多。下面我就介绍下 Hercules 工具: 一、安装 Kali Linux 二、搭建GO语言环境 1、下载解压GO 解压到 /usr/local 目录下: 2、配置环境 让GO命令有效: 文件后追加 export PATH=$PATH:/usr/local/go/bin: 再按 Esc ,输入 :wq,保存退出。使文件生效,并查看版本号,是否正确配置: 三、安装Hercules 升级软件包: 运行Hercules: 四、生成免杀载荷 选择1,输入ip、端口号(用于反弹...阅读全文

博文 2017-06-09 05:05:42 alexnevsky

免序列号安装MKL包

最近要用到FFT, 找了许多免费的go下资源, 比较后觉得gosl最好. 主要是速度快, 内容全.它用到硬件加速, 其中有个MKL包下载比较麻烦, 搜索了很多资料后发现了一个简单办法. 全套命令如下:cd /tmpwget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBsudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBsudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproduct...阅读全文

博文 2018-06-01 20:56:18 wzwmzm

Go语言二分之查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列查找过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。算法要求:1.必须采用顺序存储结构。2.必须按关键字大小有序排列。要求:请对一个有序数组进行二分查找 {1,8, 10, 89, 1000, 1234} ,输入一个数看看该数组是否存 在此数,并且求出下标,如果没有就 ...阅读全文

博文 2019-03-11 20:35:22 GoDevops

golang实现NTP协议获取服务器时间

// file project main.go package main import ( "encoding/binary" "fmt" "net" "os" "os/signal" "sync" "time" ) const ( NTP_SERVER_IP = "time.windows.com" /*NTP IP*/ NTP_PORT_STR = "123" /*NTP专用端口号字 符串*/ NTP_PCK_LEN = 48 LI = 0 VN = 3 MODE = 3 STRATUM = 0 POLL = 4 PREC = -6 JAN_1970 = 0x83aa7e80 /* 1900年~1970年之间的时间秒数 */ ) func NTPFRAC(x int64) int64 {...阅读全文

博文 2016-08-04 20:00:14 徐学良

golang 基于mysql到内存map的缓存库

# 基于mysql到内存的缓存库 ## 背景 - 很多业务上需要读取db里面的数据详情,这些数据已经存在db,会修改但不会删除,程序为了加速访问需要缓存到内存,业务上也允许内存和db 不一致,设计一个通用的dbcache 由此而来 ## 最佳实践 ``` cache := NewCache(24*time.Hour, 10*time.Minute, 10, 10, "root:test@tcp(127.0.0.1:3306)/test?parseTime=True&loc=Local&multiStatements=true&charset=utf8") c := Cri{} cache.RegisterType("cri", &c) data, err := cache.Get("1", ...阅读全文

博文 2019-09-08 15:22:34 Bulesxz

数据结构-(队列顺序存储)循环队列的实现(golang)

import ( "errors" ) //循环队列结构体(顺序存储) type CirularQueue struct { elem []ElemType //储存的数据 front int //头指针 rear int //尾指针 } //初始化循环队列 func InitCQueue() *CirularQueue { cqueue := new(CirularQueue) cqueue.elem = make([]ElemType, MAXSIZE) cqueue.front = 0 cqueue.rear = 0 return cqueue } //清空循环队列 func (cqueue *CirularQueue) ClearCQueue() { cqueue.front = 0...阅读全文

博文 2017-02-09 16:59:44 卑微了承诺-life

golang爬虫小案例

### 爬虫步骤 + 想要学习更多的小项目欢迎访问我的博客www.5lmh.com + 明确目标(确定在哪个网站搜索) + 爬(爬下内容) + 取(筛选想要的) + 处理数据(按照你的想法去处理) ```go package main import ( "fmt" "io/ioutil" "net/http" "regexp" ) //这个只是一个简单的版本只是获取QQ邮箱并且没有进行封装操作,另外爬出来的数据也没有进行去重操作 var ( // \d是数字 reQQEmail = `(\d+)@qq.com` ) // 爬邮箱 func GetEmail(...阅读全文

evans 测试grpc请求

evans 测试grpc 安装 evans地址 $ brew tap ktr0731/evans $ brew install evans 使用: 进入到工程目录 proto的schema根目录 /Users/chelsea/go/src/golang.******.com/xxx/protubuf-schema evans --port="项目端口号" proto/finance/service/xxx/xxxx.go package package lego service service lego call call 方法名称 eg:call PushInfo 输入相应参数 如果是repeated数组格式,可以ctrl+d 跳...阅读全文

博文 2018-10-08 19:34:42 super大橙子

golang包中多个init执行问题

package testPackage func init() { println("init one") } func init() { println("init two") } ----------------------------------------------------------------------------------------- package main import ( _ "balabala/output/testPackage" "fmt" ) func main() { fmt.Println("???") fmt.Println("???") } func init() { println(1111) } func init() { println(...阅读全文

博文 2018-09-12 18:34:41 lattle

监听端口号后修改代码,重新run 后,发现还是原来的程序,换端口后有效

```go package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", handler) http.HandleFunc("/hello", hello) http.ListenAndServe("localhost:8884", nil) } func handler(w http.ResponseWriter, req *http.Request) { req.ParseForm() if len(req.Form["name"]) > 0 { fmt.Fprint(w, "你好,", req.Form["name"][0]) } els...阅读全文

go 用结构解析XML

结构定义如下,在tag中写明在xml中的映射关系。可以是子节点,也可以是属性,还可以是chardata。当然,结构的成员必须是大写字母打头的,对外可见。多层节点可以用大于号连接,如“onentry>action”。用chardata时,tag为`xml:”,chardata”`。 // state machine for unmarshal json type stateMachine struct { Defaultstate bool `xml:"defaultstate,attr"` Initialstate string `xml:"initialstate,attr"` Timeoutstate string `xml:"timeoutstate,attr"` States []s...阅读全文

博文 2016-02-10 18:00:01 logsharp

golang map实例·

>map是一堆键值对的未排序集合,比如以身份证号作为唯一键来标识一个人的信息 ```golang package main import "fmt" type PersonInfo struct { ID string Name string Address string } func main() { // 定义一个PersonInfo类型的map变量 var personDB map[string] PersonInfo personDB = make(map[string] PersonInfo) // 往这个map里插入几条数据 personDB["12345"] = PersonInfo{"12345", "...阅读全文

snowflake算法可以指定各域位数的改进版

snowFlake算法在生成ID时特别高效,可参考:https://segmentfault.com/a/1190000011282426 它可以保证: * 所有生成的id按时间趋势递增 * 整个分布式系统内不会产生重复id(因为有datacenterId和workerId来做区分) 但在在某下场影下dataCenterId、workerId并不需要占那么多的位,或是机器没那么多。自己就写了一个各个域的位可以自定义设置的。 https://github.com/liuyongshuai/goSnowFlake ``` /** * @author Liu Yongshuai * @package goSnowFlake * @date 201...阅读全文

博文 2018-02-01 17:52:29 liuyongshuai

vscode 调试golang web application

1.配置tasks.json{"version": "0.1.0","command": "go","isShellCommand": true,"showOutput": "always","args": ["run","${file}"],"isBuildCommand": true,"taskSelector": "/t:"}2.配置launch.json{"version": "0.2.0","configurations": [{"name": "debug","type": "go","request": "launch","mode": "debug","remotePath": "","port": 8080,"host": "127.0.0.1","program": "$...阅读全文

博文 2017-09-29 22:04:55 刀鳅

Golang 数据结构之【4.7环形队列】

package main import ( "errors" "fmt" ) //循环队列 const ( MaxSize int = 20 // 存储空间初始分配量 ) type QElemType int // QElemType类型根据实际情况而定,这里假设为int // 循环队列的顺序存储结构 type SqQueue struct { data [MaxSize]QElemType front int //头指针 rear int //尾指针 } //初始化队列 func (q *SqQueue) InitQueue() { q.front = 0 q.rear = 0 } //清空队列 func (q *SqQueue) ClearQueue() { q.front = 0 q....阅读全文

博文 2019-05-17 06:34:40 JiBadBoy

Go语言开发分布式任务调度(更新到第三章)

微信号:new_video qq号码:2381392963资料来源网络,仅供学习使用,请勿传播。如有侵权,请联系删除。课程介绍:Golang因其强大的协程机制,现已广泛应用于解决分布式环境下的高并发问题。本门课程中将结合Etcd与MongoDB实现一个基于Master-Worker分布式架构的任务调度系统。你不仅将.....阅读全文

博文 2019-07-15 04:02:40 天天向上学习

CSDN VIP如何添加自定义栏目

几个月前我也开始在csdn上开了博客,一来给自己加几个少的可怜的流量,再者,让公众号的原创文章获得更多的曝光,让有需要的同学看到。 写过csdn博客的同学都知道,默认只有打赏c币功能;也没有专门广告位;引导栏目,只有侧栏csdn自己的引导二维码。 如何在csdn自定义栏目,加赞赏功能,或者其他等引导,让读者能很直观的看到,而不是在每篇文章加,增加自己工作量。这个功能以前对所有用户开放,但是很不幸,这功能被CSDN下架了,看下图: 我也是之前为了给读者下载CSDN资料开了VIP,目前还有400次下载,为了限制,每天有8个免费下载名额,需要的可以扫码关注公众号,在后台回复【2】加我代下载。 鼠标放到头像处,点击下拉框中的【管理博客】>> 点击侧栏的【博客模块管理】 只能添加一条自定义栏目,栏目内...阅读全文

博文 2019-10-16 00:02:41 小碗汤

去哪儿面试题 (Golang实现)多线程顺序输出1-75

package main import ( "fmt" "sync" "time" ) var waiter sync.WaitGroup func print5(i int) { j := i for j < i+5 { fmt.Println(j) j++ } waiter.Done() } func main() { fmt.Println("Start print 75") waiter = sync.WaitGroup{} waiter.Add(15) for i := 1; i < 75; i += 5 { go print5(i) time.Sleep(1 * time.Nanosecond) } waiter.Wait() fmt.Println("End print 75"...阅读全文

博文 2019-06-06 19:32:39 FredricZhu

关于iris-api我的入门级结构

####入口:main.go ```go app := iris.Default() //启动iris服务 route.InitRouter(app) //进入路由 app.Run(iris.Addr(“:8080”)), iris.WithoutServerError(iris.ErrServerClosed)) //设置端口号 ``` ####路由: route.go ```go func InitRouter(app *iris.Application) { g := controllers.NewIamController() //连接控制器层 app.Get("/xx/xx", g.xxx) //根据url调用 app.Post("/xx/xx", g.xxx) } ``` ###...阅读全文

博文 2019-11-12 09:29:27 jkal789

重温一遍数据结构之线性表(golang版)

目的 因为最近工作中碰到了一些关于数据结构的问题,发现有些生疏了,所以想重新自己再理一遍,就当是给自己的记录,之所以用golang主要也是因为对goalng比较感兴趣,写起来也比较顺手。本意也不是想分享关于什么是数据结构,因为这种概念性的东西没有什么太大意义,其实最重要的是让自己能看懂自己写了些什么,但是代码中写了非常详细的注释,所以基本都是以代码为主 线性表之顺序存储结构 以下代码是线性表中的顺序存储结构,基本略去了些容错的考虑,还是以实现功能为主 package main //线性表中的顺序存储结构 import ( "fmt" ) // 线性表中存储的数据类型 type Elem int type SqList struct { //最大长度 maxsize int // 当前长度 l...阅读全文

博文 2017-11-19 15:05:03 woshicixide

使用golang写一个高性能端口扫描器,支持IP范围,端口号范围

功能:可以快速扫描指定端口范围,ip地址范围。将扫描结果保存到本地!先来体验一下运行后的效果: ![image.png](https://static.studygolang.com/200113/7e43c4ba5d3e7761c8135a1c2052e48e.png) ![image.png](https://static.studygolang.com/200113/e16172fd8d310c5df622f06759eeb27b.png) ### 帮助信息 ``` scanPort -h Options: -h 帮助信息 -ip string ip地址 例如:-ip 192.168.0.1-255 或直接输入域名 xs25.cn (default "127.0.0.1") -n in...阅读全文

博文 2020-01-13 19:00:14 duzhenxun

golang 笔记

命令orm syncdb -db=db1 -force=true -v=true来同步表结构 //自动建表func createTable() { name := "default" //数据库别名 force := false //不强制建数据库 verbose := true //打印建表过程 err := orm.RunSyncdb(name, force, verbose) //建表 if err != nil { beego.Error(err) } //杀进程 lsof -i:端口号kill -9 42624 //自动化文档go get -u github.com/beego/beego get -u github.com/astaxie/beego然后进入到你的GOPATH/s...阅读全文

博文 2015-09-15 03:00:01 Logan626

go select语句

看介绍说,go的select与switch类似。但其实有很大不同 switch执行是顺序的,而select是随机选择: package main import ( "fmt" ) func main() { c1:=make(chan int,1024) c2:=make(chan int,1024) for i:=0;i<1000;i++{ c1<-1 c2<-1 fmt.Println("i===",i) select{ case <-c1: fmt.Println("from c1") case <-c2: fmt.Println("from c2") } } } 结果: i=== 0 from c1 i=== 1 from c2 i=== 2 from c1 i=== 3 from ...阅读全文

博文 2016-08-12 11:00:07 qii

25.蛤蟆笔记go语言——PostgrelSQL数据库使用

25.蛤蟆笔记go语言——PostgrelSQL数据库使用 下载地址:https://www.postgresql.org/download/ 此处以WINDOWS版本为例。 下载后双击安装。 postgresql-9.5.3-1-windows-x64.exe 安装过程输入密码和端口号。 使用 安装完毕后,有一个phAdmin图形化工具如下图1: 命令行管理 安装完毕后,自带命令行管理,如下图2 创建数据库 test: #create database test; 切换数据 #\c test 链接到数据库test 创建用户: create user astaxie with password 'astaxie'; 登录数据库,赋值: grant all privileges on user...阅读全文

博文 2016-06-28 00:00:01 notbaron