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

golang rbac框架

在 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)...阅读全文

博文 2016-02-03 10:00:02 ziyouchutuwenwu

教你写一个color日志库,不止有代码还有原理。

https://www.zybuluo.com/aliasliyu4/note/612147 还是老规矩为了良好的阅读体验,但是还是移步到markwon文档 项目地址在: https://github.com/liyu4/chill/tree/master/util 当然chill项目也是完全可以用来练手用的,简约但是不简单。 另外如果有任何的问题和好的建议都可以联系我的微信 wechat: convertxy ...阅读全文

80端口和8080端口是什么意思?

本人菜鸟不懂端口是什么, 我很好奇我的网站是80端口啊,就是默认的访问我的域名zfor.org就可以访问的啊, 然后我用beego模板监听的是8080端口啊,我访问zfor.org:8080才可以访问。 我改成80它显示80端口以被占用啊。 于是乎,问题来了,一般网站不都是80端口吗? 我是不是要把80关掉再使用beego去使用80端口吗? 怎么关掉80端口...阅读全文

菜鸟问两个关于studygolang的问题

大概看了下studygolang的源码,由于是新手所以看起来比较吃力。问几个问题,麻烦各位大哥解答下,找了很久没找到答案。 1.模板部分我只看到了SetData,将值赋值给模板,我找不到给用户返回数据的地方。请问下是通过什么样的方式返回给用户的?是统一在某个函数里返回么? 2.网页的header和footer等部分是如何输出的? 3.能否出一个studygolang简单的开发文档? 感谢...阅读全文

mac下Sublime text2的搭建

问题一: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

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...阅读全文

博文 2019-01-29 00:34:43 笑吧小鸟

golang菜鸟常见的坑----工程管理(go build)

在我们下载GO语言包之后,我们会遇到三个目录: 每个目录具体的作用是不一样的。具体可以参考官方文档 但是,有一种很奇怪的事情,我在看到一个很简单的写法之后提出一个疑问: 如图: 某人写了如下目录 代码如下图: 此时如果只使用 go build main.go 会出现错误: 官方文档对此解释:需要使用go build 但不指定文件名字 会生成可执行文件(示例机器为Windows),直接运行即可 若是UNIX平台: 也会生成可执行文件 ,直接运行即可...阅读全文

博文 2019-04-19 20:31:03 weixin_42134857

golang 生产者消费者模型

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("消灭了所有怪物!...阅读全文

博文 2019-12-14 19:32:40 就超棒

Go函数的定义格式

菜鸟,刚开始学Go语言,函数定义都看不太懂 关键字func,函数名,参数列表,返回值,函数体和返回语句 那么:写起来应该是 func MyFoo(a int) (b int) { return } 但我也能看见func (file *File) Read(b []byte) (n int, err Error)这样的函数,那么函数定义中(file *File)是什么呢?怎么来理解这个呢? 请各位高手指...阅读全文

Go菜鸟关于switch问题求指点!

菜鸟求教,一个简单无限循环代码,但为什么输入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...阅读全文

建站宝盒20.17,全网最低价自适应建站工具!!

一款接地气的自助建站工具应该是这样的:小白看了不懵逼,大神看了灵感来。 一般自助建站工具的试用时间只有几天,而且,很多主要功能不会开放给用户,这让用户对产品认识存在一定偏差。 那么现在,机会来了!这个自助建站工具你可以用一年,而且只需要一顿饭的价格,20.17元!全新的建站宝盒V9体验版就是你的!别惊讶!也许你之前做的是假站! ![c8177f3e6709c93d791097b0963df8dcd0005492.jpg](http://studygolang.qiniudn.com/170123/f88f9d22eb6521e941e50aa5bf472f28.jpg) 为了对每一个信任建站宝盒的客户负责,让每一个使用建站宝盒自助建站的客户有良好的体验,建站宝盒团队不...阅读全文

1、策略模式 Strategy Pattern

策略模式:抛砖引玉,为了让一些小白理解设计模式而写,大神请绕行。顺便可以熟悉GoLang 经典鸭子问题: 鸭子有个基础的父类,但是有很多种鸭子,比如:模型鸭、唐老鸭、绿头鸭 鸭子属性这里就忽略了,直接用两个行为来举例子:叫和飞 从这3种鸭子来看: 绿头鸭会呱呱叫,模型鸭不会叫,唐老鸭会说话(就算是会说话吧) 绿头鸭会飞,模型鸭和唐老鸭都不会飞 好了,我们现在需要做的就是实现一个鸭子的父类,让后让模型鸭、唐老鸭、绿头鸭都继承这个父类。 定义飞和叫两个行为接口,每种鸭子继承父类并实现飞和叫两个行为。 找出应用中核能需要变化之处,把它们独立起来,不要和那些不需要变化的代码混在一起。 好的,继续,下面我们先来说下飞 根据我们要实现的3种模型,我们需要实现两个飞的行为,一个是会飞一个是不会飞 首先我们...阅读全文

博文 2020-05-19 15:32:49 teddrummer

阿里云专家风移“出诊”记录:SQL Server 疑难杂症解决之道(上篇)

授人予鱼而不如授人予渔,本系列专题(上篇)为大家推荐了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的管道实例

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) } ...阅读全文

博文 2020-06-02 09:34:17 529834149

正则表达式

菜鸟教程正则表达式教程 RE2正则表达式(golang执行的是RE2标准的正则表达式) go语言中单行模式的用法可以查询golang官方文档 单行模式:?s: (.?) s表示单行模式,因为"."用来匹配所有字符但不包含换行符,使用单行模式可以全匹配;".?"表示执行最少的匹...阅读全文

博文 2019-07-28 13:32:38 七八个星天

菜鸟求助:关于goroutine问题

现需要设计一款SNMP采集器,采集共约50台机器的数据,每台机器上有若干指标值需采集,且每个指标值需独立设置采集周期,我设想的是使用goroutine对50台机器进行并发采集,其中对每项指标采集也使用goroutine,请大牛们赐教,这样的goroutine嵌套能实现吗?P.S.新手上路,求...阅读全文

Bufio中的一些疑问

各位大神可以帮忙解读下面的代码吗?菜鸟刚写,有的地方了解得不透 万分感激 ```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

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(...阅读全文

博文 2019-02-03 22:34:41 笑吧小鸟