
go
文章平均质量分 60
技术分享
胡萝卜的兔
技术,分享
展开
-
golang语言websocket百万长链接
goland websocket 是简单demo测试。原创 2023-01-20 10:30:53 · 1989 阅读 · 0 评论 -
goland 编辑器无代码提示,提示go_root 没有设置
网上很多都不可靠,无法使用错误提示The selected directory is not a valid home for Go SDK查找goland安装目录找到go1.17.3\src\runtime\internal\sys\zversion.go 这个文件用编辑器打开该文件 添加 const TheVersion = go1.17.6 、这个go版本需要按自身的版本来,保存,重启goland,然后在设置-go-go_root 设置SDK ,查找到go语言安装路径即可.原创 2022-01-21 17:01:30 · 1387 阅读 · 0 评论 -
Vue和element-ui + php +go 结合使用
前提vue在前端技术中使用越来越多,也成为了主流框架,花点时间稍微了解下vue-cli、vue-router结合element-ui的使用。本人使用的是windows系统,后续介绍以windows7系统为例。1.安装vue-cli首先保证自己电脑上已经安装过nodejs,是否安装打开cmd,输入node -v,出现图上这个说明已经安装(未安装的请访问nodejs官网进行下载安装)安装完成后,打开任意磁盘新建文件夹vue-test,我进入的是F盘,进入vue-test文件夹,按住shif.原创 2021-09-10 16:11:34 · 533 阅读 · 0 评论 -
go语言实战之:搭建简单的web服务器demo
创建main.go以及 index.html文件main.gopackage mainimport ( "fmt" "html/template" "net/http")func main() { http.HandleFunc("/", hello) err := http.ListenAndServe(":9090", nil) if err != nil { fmt.Println("HTTP server failed,err:", err) return }原创 2021-08-27 17:38:42 · 593 阅读 · 0 评论 -
go 语言学习 23 异常处理 defer panic recover
程序有时候会出现意外,导致奔溃,在java,或php中有 try{}cache(Exception e){} 来捕捉异常,但是在go中没有 ,所以 。。。如果下面的y 为0时,就出现了异常,导致程序中断,无法继续执行。package mainimport "fmt"func main() { fmt.Println(fn1(10, 0)) fmt.Println("下一个程序") fmt.Println(fn1(8, 3))}func fn1(x int, y int) int.原创 2020-09-24 00:01:43 · 111 阅读 · 0 评论 -
go语言学习之 22 函数的作用域 以及 闭包函数
//函数闭包package mainimport "fmt"func main() { var fn = add() var fn2 = add2() fmt.Println("闭包函数测试", fn()) fmt.Println("闭包函数测试", fn()) fmt.Println("闭包函数测试", fn()) fmt.Println("闭包函数测试", fn2(10)) fmt.Println("闭包函数测试", fn2(10)) fmt.Println("闭包函...原创 2020-09-19 10:57:14 · 107 阅读 · 0 评论 -
go 学习之函数 22 函数的递归
//函数的递归调用package mainimport "fmt"func main() { sum(10)}func sum(i int) { //var sum int if i > 0 { fmt.Println(i) i-- sum(i) }}函数的递归 实现100的和 错误代码示范,发现并没有累加//函数的递归 实现100的和package mainimport "fmt"func main() { a := sum(10)..原创 2020-09-19 10:38:48 · 88 阅读 · 0 评论 -
go语言学习 22 自定义类型
package mainimport "fmt"//定义一个名称叫 mixType 的类型type mixType func(int, int) intfunc main() { var c mixType var d mixType c = add d = sub fmt.Printf("查看c变量的类型, %T\n", c) //加法 a := c(5, 10) fmt.Println(a) //减法 b := d(100, 150) fmt.Println(b).原创 2020-09-19 00:02:04 · 208 阅读 · 0 评论 -
go语言学习之 22 自定义函数 (下)
切片整型升序排序package mainimport "fmt"func main() { slic := []int{10, 100, 20, 15, 1, 1000, 50, 20} sic := sortIntAsc(slic) fmt.Println(sic)}func sortIntAsc(num []int) []int { for i := 0; i < len(num); i++ { for j := i + 1; j < len(num); j.原创 2020-09-18 21:55:55 · 99 阅读 · 0 评论 -
go语言学习之 22 自定义函数
package mainimport "fmt"func main() { sum := sumFn(2, 10) fmt.Println(sum)}func sumFn(x, y int) int { return x + y}函数的可变参数package mainimport "fmt"func main() { sumN := sumNfn(10, 20, 30, 5) fmt.Println(sumN)}func sumNfn(x ...int.原创 2020-09-17 23:15:25 · 158 阅读 · 0 评论 -
go语言学习 21-1 map (下)
1,定义元素为map类型的切片package mainimport ( "fmt")func main() { var qp = make([]map[string]string, 3, 3) fmt.Println(qp[0]) //打印切片0下标下是否有值 如果为空则默认为nil fmt.Println(qp[0] == nil) //qp[0] == nil 为true if qp[0] == nil { qp[0] = make(map[string]s原创 2020-09-15 11:44:00 · 95 阅读 · 0 评论 -
go语言学习 21-1 map (上)
第一种创建map的方法, makepackage mainimport ( "fmt")func main() { // map[key的类型]value类型 var userInfo = make(map[string]string) userInfo["username"] = "谢谢" userInfo["email"] = "xxp@qq.com" userInfo["sex"] = "男" //获取全部 fmt.Println(.原创 2020-09-15 10:25:39 · 210 阅读 · 0 评论 -
VS Code go 语言开发 代码自动补全和自动导入包
使用快捷键:command+shift+P,然后键入:go:install/update tools,将所有 16 个插件都勾选上,然后点击 OK 即开始安装 gocode gopkgs go-outline go-symbols guru gorename gotests gomodifytags impl fillstruct goplay godoctor dlv gocode-gomod godef goreturns goli原创 2020-09-09 15:52:03 · 10094 阅读 · 2 评论 -
go语言学习之 指针数组
//使用指针交换两个数值互换package mainimport "fmt"func main() { const COUNT = 4 a := [COUNT]string{"abc","efd","123","aoe"} var b [COUNT]*string for i,v := range a{ b[i] = &v } fmt.Println(b)}//使用指针交换两个数值互换package mainimport "fmt"func ma...原创 2020-07-17 17:32:44 · 191 阅读 · 0 评论 -
go语言学习之 指针作为函数参数
指针作为参数package mainimport "fmt"func main() { a := 10 fmt.Println("在函数前调用a值",a) b := &a change(b) fmt.Println("在函数后调用a值",a)}func change(num *int) { *num = 20}//使用指针交换两个数值互换package mainimport "fmt"func main() { x := 100 y ...原创 2020-07-17 16:59:06 · 268 阅读 · 0 评论 -
go语言学习之 指针
//指针的初步认识package mainimport "fmt"func main() { a := 10 fmt.Printf("变量a的地址 %x \n",&a) b := []int{1,3,4,6,7,9} fmt.Printf("变量b的地址 %x \n",&b)}指针不能运算package mainimport "fmt"func main() { //定义实际变量 a := 120 //声明指针变量 var...原创 2020-07-17 15:47:29 · 182 阅读 · 0 评论 -
go语言学习之 递归函数
//递归package mainimport "fmt"func main() { //使用递归来实现阶乘 jc1 :=factorial(10) fmt.Println("使用递归来实现阶乘",jc1) //通过循环来实现阶乘 jc2 := getMultiple(10) fmt.Println("通过循环来实现阶乘",jc2)}//用递归的做法来实现阶乘func factorial(n int) int { if(n == 0){ return 1 }...原创 2020-07-17 13:35:12 · 321 阅读 · 0 评论 -
go语言学习之 闭包函数
package mainimport "fmt"func main() { res :=adder() for i := 0; i < 5; i++ { fmt.Println("%d =",i) fmt.Println(res(i)) }}func adder() func(int) int{ sum := 0 res := func(num int) int{ sum += num return sum } return res}...原创 2020-07-17 09:45:02 · 186 阅读 · 0 评论 -
go语言学习之 函数的匿名函数
package mainimport "fmt"func main() { //1匿名函数第一种方式 func(num int){ fmt.Println("你的分数:",num) }(99) //2匿名函数第二种方式 f := func(str string) string{ return str } s := f("欢迎你的到来!") fmt.Println(s)}匿名函数的回调...原创 2020-07-15 21:55:35 · 122 阅读 · 0 评论 -
go语言学习之自 函数作为值的用法
//处理字符串,实现大小写奇数偶数交替package mainimport( "fmt" "strings")func main() { str := "aBwfawjoajfWFnojfoawEWE" result := proessLetter(str) fmt.Printf(result)}func proessLetter(str string) string{ result := "" for i,v := range str{ if i%2 == 0{ ...原创 2020-07-15 19:58:49 · 168 阅读 · 0 评论 -
go语言学习之自 定义函数
//如果用全局变量和局部变量,局部变量有限使用package mainimport "fmt"var a int = 7var b int = 9 func main() { a,b,c := 10,20,0 fmt.Printf("a 的值为 %d \n",a) fmt.Printf("b 的值为 %d \n",b) fmt.Printf("c 的值为 %d \n",c)}//如果用全局变量和局部变量,局部变量有限使用package mainim...原创 2020-07-15 17:14:33 · 162 阅读 · 0 评论 -
go语言学习之 for循环
package mainimport "fmt"func main() { baseFor() twoFor() threeFor() fourFor()}func baseFor(){ count :=10 for i := 0; i < count; i++ { fmt.Printf("%d ",i) }}func twoFor(){ fmt.Printf("\n 第二种for循环 \n") count :=10 i :=0 for ; i ...原创 2020-07-15 16:52:26 · 194 阅读 · 0 评论 -
go语言学习之(15) 常量及iota
常量不能不重复赋值package mainimport "fmt"func main() { const PI = 3.1415 PI = 1000 fmt.Println(PI)}package mainimport "fmt"func main() { //批量赋值 const ( A = 10 B C ) fmt.Println(A,B,C)}...原创 2020-07-14 18:01:14 · 118 阅读 · 0 评论 -
go语言学习之 类型转换
package mainimport "fmt"func main() { chinese :=90 english :=88.8 avg := (chinese + english)/2 fmt.Println(avg)}这种写法报错,因为 :=短定义 活根据数据来确定类型 如果你的电脑是64位,则english 位float64正确写法package mainimport "fmt"func main() { chinese :=90 english :=...原创 2020-07-14 16:56:15 · 98 阅读 · 0 评论 -
go语言学习 打印输出格式化
package mainimport "fmt"//自定义一个结构体type Student struct{ x,y int}func main() { //通用格式 str := "小柒" fmt.Printf("%T,%v \n",str,str) //调用结构体 p :=Student{1,3} fmt.Printf("%T,%v \n",p,p) //布尔值 后面的%t 也可以写成%v t := true fmt.Printf("%T,%t ...原创 2020-07-14 16:22:58 · 317 阅读 · 0 评论 -
go语言学习之 数据类型
//字符串是用双引号来括的package mainimport "fmt"func main() { var b string = "我是很帅的" fmt.Printf("%T,%v \n",b,b);}//用反引号 ` 可以原样输出//用反引号 ` 可以原样输出package mainimport "fmt"func main() { var b string = `package mainimport "fmt"func mai...原创 2020-07-14 14:49:38 · 123 阅读 · 1 评论 -
go语言(三) 基本语法 变量的声明(使用var关键字)
Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的内存基本格式#声明变量的一般形式是使用 var 关键字var name type批量格式var ( a int b string c []float32 d func() bool e struct { x int .原创 2020-05-21 17:34:07 · 418 阅读 · 0 评论 -
go语言(二)快速入门
代码写完之后使用 go build go build hello.go心得,字符串只能用双引号,单引号无法解析会报错生成hello可执行文件 运行 输出HelloWorld 也可以使用go run hello.go 源码执行完结!...原创 2020-05-15 22:13:48 · 142 阅读 · 0 评论 -
go学习 (一)
1,下载到linux 服务器里wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz2,解压 并转入 gotar -zxvf go1.14.3.linux-amd64.tar.gz3,进入bin 目录 并执行gocd bin添加环境变量 ① 已root权限编辑环境配置文件 、/etc/profilevim /etc/profile② 登出后再登陆...原创 2020-05-15 20:12:20 · 170 阅读 · 0 评论