package main import ( "fmt" "log" "os/exec" "regexp" ) func main() { ww, err := exec.Command("CMD", "/C", " ping 126.com").Output() if err != nil { log.Fatal(err.Error()) } fmt.Println(s
转载 2019-07-01 14:44:00
1552阅读
2评论
package main import ( "errors" "fmt" "net" ) func externalIP() (net.IP, error) { ifaces, err := n ...
转载 2021-07-23 09:17:00
1427阅读
2评论
在util目录下新建一个ip文件 package util import ( "fmt" "math/big" "net" ) func GetLocalIP() string { addrs, err := net.InterfaceAddrs() if err != nil { return "
原创 2021-05-27 11:10:09
2721阅读
纯技术交流,不得用于其它目的否则后果自负。小幻ip代理池是一个免费的ip代理池。获取ip代理的demo:package m
原创 2022-12-21 10:35:57
520阅读
import"net"funcIps()(map[string]string,error){ips:=make(map[string]string)interfaces,err:=net.Interfaces()iferr!=nil{returnnil,err}for_,i:=rangeinterfaces{byName,err:=net.InterfaceByName(i.N
原创 2018-12-08 17:20:04
9438阅读
 最近在做文本处理的时候遇到一个很奇怪的现象。串行执行脚本可能只需要几秒钟,但是如果想给每行开个协程并发处理的话,执行时间却从几十秒到几十分钟不等,关键是执行的过程中cpu的占用并不高。经过一系列的分析之后确认是gc导致的。所以想讲一下排查gc问题的一些小技巧,之后也会给出一些case:    一。如何查看程序运行过程中的GC信息呢?    设置g
转载 2024-05-30 09:41:39
93阅读
在 Google Cloud 环境中使用 Go 根据 IP 地址获取国家名称,可以通过以下 三种主流方案 实现,涵盖本地数据库和在线 API 两种方式,并针对 Google Cloud 的特性进行优化 方案 1:使用本地 IP 数据库(推荐)1. MaxMind GeoLite2 + geoip2-golang 库步骤下载 GeoLite2 数据库在 Google Cloud VM 或容
原创 2月前
90阅读
【代码】golang IP定位。
原创 2024-05-28 17:32:02
65阅读
代码,依赖hutool工具hostip=`ifconfig eth0 | grep inet | awk '{print $2}' | awk -F: '{print $2}'` #docker run --name java_app --net=host -d --env hostip="${hostip}" java:*** -jar hello.jarjava代码public stat
转载 2021-01-08 14:31:00
229阅读
最近都在通过完成一些列功能强化自己对常用api的熟悉。然而关于时间的api几乎是最常用的api类型,所以总结一些常用的。 以YY-mm-dd HH:MM:SS.9位 输出当前时间: func main() { fmt.Println(time.Now()) } output: 2017-02-27 01:20:00.567634365 +0800 CST  获取时间
转载 2024-04-01 09:59:28
12阅读
# 使用golang连接多个Redis服务器 在实际开发中,我们经常会遇到需要连接多个Redis服务器的情况,这样可以提高系统的性能和可靠性。在golang中,我们可以使用第三方库`github.com/go-redis/redis`来连接Redis服务器。本文将介绍如何使用golang连接多个Redis服务器,并提供代码示例。 ## 安装go-redis/redis库 首先,我们需要安装`
原创 2024-03-04 05:12:03
117阅读
函数是golang中的`一等公民,可以作为普通变量、方法参数、方法返回值等,一般golang中函数定义如下:func name(arg1 type1,args2 type2)(result1 type1,result2 type2){ .... }也可以省略返回列表的结果名称:func name(arg1 type1,args2 type2) (type1,type2){ ....
转载 6月前
13阅读
package mainimport ( "fmt" uuid "github.com/satori/go.uuid")func main() { // 创建 u1 := uuid.NewV4() fmt.Printf("UUIDv4: %s\n", u1) // 解析 u2, err := uuid.FromString("f5394eef-e576-4709-9e...
原创 2022-01-10 10:12:18
1476阅读
package mainimport ( "fmt" "io/ioutil" "net/http" "os")func main() { for _, url := range os.Args[1:] { resp, err := http.Get(url) if err != nil { fmt.Fprintf(os.Stderr, "fetch: %v\n", err) o.
原创 2021-06-01 12:23:07
466阅读
# Golang Redis IP防刷机制 在现代互联网应用中,用户的行为监控与防止恶意请求很重要,尤其是在服务容易受到刷单、刷号等攻击威胁的场景中。基于Golang的开发者,可以通过结合Redis实现简单的IP防刷机制。本文将介绍如何利用Go语言和Redis来实现这一机制,并给出代码示例。 ## 背景知识 在防刷系统中,常见的做法是限制每个IP在单位时间内的请求次数。假设我们的限制是每个I
原创 10月前
58阅读
tips: *号,可以指向指针类型内存地址上的值,&号,可以获取值类型的内存地址变量和内存地址每一个变量都有内存地址,可以通过变量来操作内存地址中的值,即内存的大小go语言中获取变量的内存地址方法:通过&符号可以获取变量的地址var a int32 a = 100 fmt.Printf(“%d\n”, a) //变量的值 fmt.Printf(“%p\n”, &a)
BCC小demo系列 实现效果:有文件打开时,输出打开文件的进程与该文件的文件名 文章目录功能拆解获取内核函数的参数获取调用进程的pid简单的实现输出改进扩展实现 在上一篇的hello world中,我们只是简单的在系统有文件打开操作时,打印了hello wold。实际上,通常当我们绑定了do_sys_open函数时,更加想知道执行该调用的进程时什么,被打开的文件是什么。这个小功能主要的实现点在于
转载 2024-04-08 15:39:29
129阅读
一、下载安装golang咱不用exe的方法,咱就是下个zip包解压出来配个环境变量就能用下载地址:https://golang.google.cn/dl/自家windows是64位还是32位的对应的下即可,比如64位的选x86-64的,32位的选x86的我这里选了64位的,想下快一点就右键那个下载链接,复制链接地址到迅雷下下载完之后找个你喜欢的地方解压它二、配置环境变量右击“我的电脑”或者“此电脑
转载 2023-08-30 19:30:25
211阅读
函数是什么?函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输出。函数的声明在 Go 语言中,函数声明通用语法如下:func functionname(parametername type) returntype { // 函数体(具体实现的功能) }函数的声明以关键词 funcfunctionname (函数名)。函数的参数列表定义在 ()re
转载 2023-12-24 12:18:02
63阅读
目录0x00 指针地址和指针类型0x01 从指针获取指针指向的值0x02 使用指针修改值0x03 返回函数中局部变量0x04 使用 new() 创建指针0x05 flag包的指针技术0x00 指针地址和指针类型一个变量对应一个保存了变量对应类型值的内存空间,一个指针的值是另一个变量的地址,指针变量可以指向任何一个值的内存地址。取地址符号 & 在指针类型前加上 * 号,可以获取指针所指向的内
  • 1
  • 2
  • 3
  • 4
  • 5