![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
这个作者很懒,什么都没留下…
展开
-
GoLand利用plantuml生成UML类图
编译生成.exe文件并将生成的exe文件拷贝拷贝到$GOPATH/bin下(在操作系统环境变量中注册后,能找到即可)原创 2023-03-20 13:41:38 · 810 阅读 · 0 评论 -
Go语言计算字符串长度——len()和RuneCountInString()
Go 语言的内建函数 len(),可以用来获取切片、字符串、通道(channel)等的长度。下面的代码可以用 len() 来获取字符串的长度。go 语言的字符串都以 UTF-8 格式保存,每个中文占用 3 个字节,因此使用 len() 获得两个中文文字对应的 6 个字节。考虑到国人习惯使用中文做名字,就需要检测字符串 UTF-8 格式的长度。Unicode 字符串长度使用 utf8.RuneCountInString() 函数。ASCII 字符串长度使用 len() 函数。原创 2022-12-09 10:51:15 · 580 阅读 · 0 评论 -
诱发 Goroutine 挂起的 27 个原因
gopark 的 27 个诱发原因,为了方便阅读,我们会根据分类进行说明。3.4.5.6.7.8.9.总结今天这篇文章是对开头 runtime.gopark 函数的详解文章的一个补充,我们能够对此了解到其诱发的因素。主要场景为:通道(Channel)。垃圾回收(GC)。休眠(Sleep)。锁等待(Lock)。抢占(Preempted)。IO 阻塞(IO Wait)其他,例如:panic、finalizer、select 等。我们可以根据这些转载 2021-10-30 21:04:11 · 302 阅读 · 0 评论 -
二维矩阵查找
题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target原创 2020-12-22 09:01:12 · 334 阅读 · 0 评论 -
go语言中的流程控制和基本函数使用(六)
package mainimport "fmt"func function1 (x int) int{ /* 在if语句之后,条件语句之前,可以添加变量初始化语句,用;隔开 */ if x=3; x == 0{// return x 在有返回值的函数中,不允许将最终的return语句放在if else结构中,否则会造成编译失败 ...原创 2018-09-06 22:29:04 · 225 阅读 · 0 评论 -
go语言http学习(十二)
HTTP定义了客户端和服务端之间请求与相应的传输标准go语言中的net/http包涵盖了HTTP客户端与服务端的实现1、HTTP客户端 基本方法: func (c *Client) Get(url string)(r *Response,err error) func (c *Client) Post(url string,bodyType string,body i...原创 2018-09-21 01:27:49 · 445 阅读 · 0 评论 -
python中文件间共享变量问题
在python中文件间共享变量,不是像其他语言一样,可以做到同步。比如在a.py中给变量定义,在b.py中引用该变量并赋值,然后在a.py中引用,发现该变量为空。针对这个问题,可以通过引入第三方文件来解决,并且要注意python中不支持对于变量的引用,因此对于变量的获取和设置,必须通过方法,可以将其放在一个map,若是队列或者一个对象,则也应该进行封装。可以像下面这样子进行操作#!/usr/b...原创 2018-09-21 01:44:12 · 4453 阅读 · 0 评论 -
go语言中json使用(十三)
JSON go语言使用内置的encoding/json标准库可以在go程序中轻松生成和解析JSON格式的数据 * json编码函数:json.Marshal() 函数原型: func Marshal(v interface{})([] byte,error) 实例: type Book struct{ ...原创 2018-09-23 01:39:29 · 592 阅读 · 0 评论 -
go语言中应用程序进行配置(yaml、json、xml、ini、配置器、程序内配置对比)
1、通过程序内部定义配置package mainimport "github.com/kataras/iris"func main() { app := iris.New() app.Get("/", func(ctx iris.Context) { ctx.HTML("<b>hello world</b>") }) //单独定义配置项 app.C...原创 2018-11-03 02:59:56 · 1060 阅读 · 0 评论 -
go语言 iris之hello world
1、安装iris安装要求golang版本至少为1.8,建议1.9# go get -u github.com/kataras/iris简单的hello world程序package mainimport ( "github.com/kataras/iris" // "github.com/kataras/iris/context" )func main(){ ...原创 2018-11-03 03:05:03 · 1236 阅读 · 0 评论 -
Eclipse集成goeclipse开发插件,安装详情及编写Hello Word(五)
1、go sdk下载和安装,及配置环境变量详见: https://blog.csdn.net/qq_21127151/article/details/82292471 2、eclipse下载 https://www.eclipse.org/downloads/ 3、安装 goeclipse 离线安装: 下载地址:https://github.co...原创 2018-09-06 21:21:18 · 2548 阅读 · 0 评论 -
go中的socket使用示例(十一)
/*go语言中对socket的整个通信过程做了封装。其原型如下:func Dial(net,addr,string) (Conn,error)其中,net是网络谢协议名,addr是IP地址或域名,端口号以":"跟随在地址和域名的后面,端口号可选。如果连接成功后,则返回连接对象,否则返回error几种常见协议的调用方式:TCP链接: conn,err := net.Dial("t...原创 2018-09-16 04:08:21 · 1617 阅读 · 0 评论 -
go中的defer关键字使用(十)
package mainimport "fmt"/* 在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量.通常用来释放一些需要释放的额资源,例如文件句柄等。 defer使用的三条规则: 1、当defer被声明...原创 2018-09-16 03:45:07 · 488 阅读 · 1 评论 -
CentOS 7 go语言开发环境搭建(一)
1、下载安装源下载安装Fedora EPEL安装源 #rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm2、安装golang# yum install golang -y3、验证安装成功[root@bogon ~]# go -versionflag ...原创 2018-08-28 02:34:30 · 1236 阅读 · 0 评论 -
go语言IDE的选择与配置
1、下载go sdk https://www.golangtc.com/download 2、进行 go的gopath和goroot的环境变量配置 3、下载vs code https://code.visualstudio.com/?wt.mc_id=vscom_downloads 3、vs code 安装go插件 启动vscode选择插件->...原创 2018-09-02 02:15:09 · 5309 阅读 · 0 评论 -
go语言中的闭包(七)
package mainimport ("fmt")/*闭包:包含自由定义变量的代码块,这些变量不再这个代码内或者任何全局上下文中定义,而是在定义代码块的环境中定义闭包可以作为函数对象或者匿名函数,被赋值给变量,传递给其他函数、被动态创建或者返回*/func add(x,y int) func()(int,int){ i:=0 return func()(int,in...原创 2018-09-08 02:50:37 · 157 阅读 · 0 评论 -
go笔记(一)
1、变量声明 var v1 int var v2 string var v3 [10] int //数组 var v4 [] int //数组切片 var v5 struct { f int } //结构体 var v6 *int //指针 var v7 map[string] int //map,key为s...原创 2018-09-05 03:52:49 · 234 阅读 · 0 评论 -
go语言中使用数据类型需要避免的坑(二)
布尔类型 var v1 bool v1 = true v2 := (1==2) 布尔类型不能接受其他类型的赋值以及强制类型转换。 var b bool b = 1 //错误 b = bool(1) //错误 整型: 两个不同类型的整型数不能直接比较,比如int和int8,int和int32 浮点型:...原创 2018-09-05 04:21:22 · 527 阅读 · 0 评论 -
go数组和数组切片(三)
1. 数组 声明: [32] byte [3][5] int 元素访问: for i:=0,i&lt;len(array);i++{ fmt.Println("Element",i,"of array is",array[i]) } for ...原创 2018-09-05 04:51:21 · 398 阅读 · 0 评论 -
go语言中的继承和接口使用(八)
1、初始化: 在go语言中,未进行显式初始化的变量都被初始化为该类型的零值,boo类型的零值为false,int类型的零值为0,,string类型的零值为空串。 在go语言中没有构造函数的概念,对象的创建由一个全局的创建函数来完成,以NewXXX命名,表示构造函数。 例如: rect1 := new(Rect) rect2 := &R...原创 2018-09-09 02:21:18 · 856 阅读 · 0 评论 -
go语言中的map(四)
1)变量声明 例如: var mymap map[string] value_info2) 创建 例如: mymap = make(map[string] value_info) mymap = make(map[string] value_info,10) //10表示初始化的存储能力3)元素赋值 mymap["renwoxing"] = value_i...原创 2018-09-06 05:53:57 · 232 阅读 · 0 评论 -
go语言中的channel(九)
channel: 声明形式: var chanName chan ElementType 例如:声明一个map: var mymap map[string] chan bool 定义:make() 例如:ch := make(chan int) 将数据写入/发送至channel: ch&...原创 2018-09-10 01:25:20 · 6841 阅读 · 0 评论 -
go语言学习资源网址
1、go语言中文网 2、GO语言的进阶之路 3、Go语言实战笔记 4、Go语言资料收集 5、一本学习 Go 语言的免费电子书 6、Go by Example 7、build-web-application-with-golang 8、入门级别的代码: https://github.com/icub3d/home/ 9、快速开发: 使用be...原创 2018-08-27 23:42:37 · 461 阅读 · 0 评论