菜鸟老于发布golang学习随笔v0.1
水平有限,难免错误,莫见笑,笔记转成了Pdf ,放到了百度网盘:https://pan.baidu.com/s/1hWP4usdm0PoWWt0UVyB8w...阅读全文
水平有限,难免错误,莫见笑,笔记转成了Pdf ,放到了百度网盘:https://pan.baidu.com/s/1hWP4usdm0PoWWt0UVyB8w...阅读全文
在 https://github.com/mikespook/gorbac/tree/v1.0 github上新的版本是开发板,得用这里的老版 demo package main import ( "gopkg.in/mikespook/gorbac.v1" "fmt" ) func main() { permissions := []string{"admin","guest","normal"} rbac := gorbac.New() rbac.Add("rico",permissions[1:],[]string{}) IsGranted := rbac.IsGranted("rico","guest",nil) fmt.Println("grant is ", IsGranted)...阅读全文
https://www.zybuluo.com/aliasliyu4/note/612147 还是老规矩为了良好的阅读体验,但是还是移步到markwon文档 项目地址在: https://github.com/liyu4/chill/tree/master/util 当然chill项目也是完全可以用来练手用的,简约但是不简单。 另外如果有任何的问题和好的建议都可以联系我的微信 wechat: convertxy ...阅读全文
本人菜鸟不懂端口是什么, 我很好奇我的网站是80端口啊,就是默认的访问我的域名zfor.org就可以访问的啊, 然后我用beego模板监听的是8080端口啊,我访问zfor.org:8080才可以访问。 我改成80它显示80端口以被占用啊。 于是乎,问题来了,一般网站不都是80端口吗? 我是不是要把80关掉再使用beego去使用80端口吗? 怎么关掉80端口...阅读全文
安装了最新版的IntelliJ IDEA,发现上面没有go插件,网上搜到的go插件库也失效...阅读全文
大概看了下studygolang的源码,由于是新手所以看起来比较吃力。问几个问题,麻烦各位大哥解答下,找了很久没找到答案。 1.模板部分我只看到了SetData,将值赋值给模板,我找不到给用户返回数据的地方。请问下是通过什么样的方式返回给用户的?是统一在某个函数里返回么? 2.网页的header和footer等部分是如何输出的? 3.能否出一个studygolang简单的开发文档? 感谢...阅读全文
问题一:Mac OS怎么保存修改后的GOPATH的??我修改了,但是保存不了; 问题二:为什么调用math包或者自己写的包会找不到,sublim text显示如下:cannot find package "myMath" in any of: /usr/local/go/src/myMath (from $GOROOT) /Users/XYQ/Desktop/code_go/src/myMath (from $GOPATH) 本人是菜鸟,刚接触golang,请各位有经验的大神解...阅读全文
Golang菜鸟教程-学习笔记-Day2 大纲 常量 常量 常量在运行时,不会被修改 常量中的数据类型可以是布尔型,数字型,字符串类型 常见的定义形式 const indetifier [type] = value 常量的应用 package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int = 5 var area int const a,b,c = 1, false, "str" //多重赋值 area = LENGTH * WIDTH fmt.Printf("area is %d\n", area) println(a,b,c) fmt.Println(a,b,c) } 常量作为枚举 packag...阅读全文
在我们下载GO语言包之后,我们会遇到三个目录: 每个目录具体的作用是不一样的。具体可以参考官方文档 但是,有一种很奇怪的事情,我在看到一个很简单的写法之后提出一个疑问: 如图: 某人写了如下目录 代码如下图: 此时如果只使用 go build main.go 会出现错误: 官方文档对此解释:需要使用go build 但不指定文件名字 会生成可执行文件(示例机器为Windows),直接运行即可 若是UNIX平台: 也会生成可执行文件 ,直接运行即可...阅读全文
package main import ( "fmt" "time" ) // 生产者 func producer(channel chan int){ for i:=0;i<100;i++{ fmt.Println("老怪创造了小怪", i) time.Sleep(time.Second) channel <- i } // 关闭通道 close(channel) } // 消费者 func consumer(name string, channel chan int, done chan bool){ for{ val, ok := <-channel if ok { fmt.Println(name, "消灭了怪物", val) }else{ fmt.Println("消灭了所有怪物!...阅读全文
菜鸟求教,一个简单无限循环代码,但为什么输入bye,却无法结束呢? package main import( "bufio" "fmt" "os" "strings" ) func main(){ inputReader := bufio.NewReader(os.Stdin) fmt.Println("Please input your name:") input,err := inputReader.ReadString('\n') if err!=nil{ fmt.Printf("An error occurred :%s\n", err) os.Exit(1) }else{ name := inp...阅读全文
MQTT消息推送中间键,支持协议3.1.1.支持paho等client版本。 supermq是在surgemq(https://github.com/surgemq/surgemq)的基础上开发的。 supermq在surgemq原有功能上,增加了群组消费,去中心化集群服务功能。 兴趣开发,所以项目可能存在bug,请大家多多包涵。希望大神们给个star...阅读全文
一款接地气的自助建站工具应该是这样的:小白看了不懵逼,大神看了灵感来。 一般自助建站工具的试用时间只有几天,而且,很多主要功能不会开放给用户,这让用户对产品认识存在一定偏差。 那么现在,机会来了!这个自助建站工具你可以用一年,而且只需要一顿饭的价格,20.17元!全新的建站宝盒V9体验版就是你的!别惊讶!也许你之前做的是假站!  为了对每一个信任建站宝盒的客户负责,让每一个使用建站宝盒自助建站的客户有良好的体验,建站宝盒团队不...阅读全文
从事开发一年多了,之前做的是前端开发,现在一直在学Go,《go编程时间》基本啃完了,《go web编程》也看了一大半,感觉自己对go的运用还是云里雾里,不太清楚,想系统的学习GO爱服务器端的运用,大神们有什么意见么...阅读全文
策略模式:抛砖引玉,为了让一些小白理解设计模式而写,大神请绕行。顺便可以熟悉GoLang 经典鸭子问题: 鸭子有个基础的父类,但是有很多种鸭子,比如:模型鸭、唐老鸭、绿头鸭 鸭子属性这里就忽略了,直接用两个行为来举例子:叫和飞 从这3种鸭子来看: 绿头鸭会呱呱叫,模型鸭不会叫,唐老鸭会说话(就算是会说话吧) 绿头鸭会飞,模型鸭和唐老鸭都不会飞 好了,我们现在需要做的就是实现一个鸭子的父类,让后让模型鸭、唐老鸭、绿头鸭都继承这个父类。 定义飞和叫两个行为接口,每种鸭子继承父类并实现飞和叫两个行为。 找出应用中核能需要变化之处,把它们独立起来,不要和那些不需要变化的代码混在一起。 好的,继续,下面我们先来说下飞 根据我们要实现的3种模型,我们需要实现两个飞的行为,一个是会飞一个是不会飞 首先我们...阅读全文
``` const result = "Polar radius =%.02f θ=%.02f° →Cartesian x = %.02f y =%.02f\n" func interact(questions chan polar, answers chan cartesian) { reader := bufio.NewReader(os.Stdin) fmt.Println(prompt) for{ fmt.Println("Radius and angle:") line, err:= reader.ReadString('\n') if err != nil{ break } ...阅读全文
eclipse的开发环境,运行报这个错,不知道原因 ,请教...阅读全文
``` func NewLogBackend(out io.Writer, prefix string, flag int) *LogBackend { if f, ok := out.(file); ok { println(f) b.f = f } return b } type file interface { Fd() uintptr } out.(file) ``` out.(file)这个语法是怎么解释,菜鸟一只求问。。。? 源码地址:https://github.com/op/go-logging/blob/master/log_windows.go 第77...阅读全文
授人予鱼而不如授人予渔,本系列专题(上篇)为大家推荐了31篇好文,希望可以帮到大家! “出诊”:RDS SQL Server死锁(Deadlock) 1. RDS SQL Server死锁(Deadlock)系列之一使用DBCC捕获死锁 经常会被客户问道:“应用程序被死锁报错啦?影响很大,到底是哪个进程导致了死锁发生的啊?怎么解决啊?怎么办呀?”。如何解决呢? 点击阅读详情 https://yq.aliyun.com/articles/73856?utm_content=m_28061 2. RDS SQL Server死锁(Deadlock)系列之二使用Profiler捕获死锁 不管是RDS SQL Server还是自建,死锁的确是一个非常头疼的问题。这...阅读全文
菜鸟有个问题,就是这么一个类代码: ```go type TestConfig struct { ID int `goconf:"core:id"` Col string `goconf:"core:col"` Ignore int `goconf:"-"` Arr []string `goconf:"core:arr:,"` Test time.Duration `goconf:"core:t_1:time"` Buf int `goconf:"core:buf:memory"` M map[i...阅读全文
package main import ( "fmt" "time" ) var pipe chan int //顶一个变量 chan 管道 整型 /** * 实现一个蒋a+b的和放入管道中 * */ func add (a int ,b int){ var sum int sum = a + b //初始管道 pipe <- sum //将计算的值放入管道中 } func main () { pipe = make(chan int ,1) //make分配一个内存空间相当于new go add(11,33) //去除管道中的值 //var sum int sum :=<- pipe fmt.Println("sum=",sum) time.Sleep(10*time.Second) } ...阅读全文
菜鸟提问,使用IntToHex方法,运行的时候找不到这个方法,是不是什么没有import进来...阅读全文
现需要设计一款SNMP采集器,采集共约50台机器的数据,每台机器上有若干指标值需采集,且每个指标值需独立设置采集周期,我设想的是使用goroutine对50台机器进行并发采集,其中对每项指标采集也使用goroutine,请大牛们赐教,这样的goroutine嵌套能实现吗?P.S.新手上路,求...阅读全文
各位大神可以帮忙解读下面的代码吗?菜鸟刚写,有的地方了解得不透 万分感激 ```go func main() { sr := strings.NewReader("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890") buf := bufio.NewReaderSize(sr, 0) b := make([]byte, 10) //返回缓存区,未读取的数据长度 fmt.Println(buf.Buffered()) s, _ := buf.Peek(5) s[0], s[1], s[2] = 'a', 'b', 'c' fmt.Printf("%d %q\n", buf.Buffered(), s) b...阅读全文
Learn Golang In Day 9 简介 结构体是自定义的数据结构 定义结构体 package main import "fmt" type Books struct { title string author string subject string bookid int } func main() { //创建一个结构体 fmt.Println(Books{"Golang","菜鸟教程","Go语言",6453007}) // key => value 方式赋值 fmt.Println(Books{title: "Golang112",author: "",subject: "subject 哈哈", bookid:787823}) // 字段可以省略 fmt.Println(...阅读全文