golang
文章平均质量分 59
rocsdu
这个作者很懒,什么都没留下…
展开
-
golang chan的运用
今天看gopl看到书上的例子看的不太懂,不是搞开发的,上了岁数理解能力也差,仔细的分析分析package mainimport ("bufio""fmt""log""net")type client chanvar ( //管道的管道entering = make(chan client)leaving = m原创 2016-09-20 21:46:29 · 4452 阅读 · 0 评论 -
通过反射实现map转换为struct
package mainimport ("encoding/json""fmt""reflect""strconv""strings")type Person struct {Name stringAge int}func main() {s1 := `{"Name":"test","Age":1}`var i interfac原创 2017-01-11 11:20:38 · 2553 阅读 · 0 评论 -
k8s thirdpartresource添加
主要使用了clientset 和restclient两种接口,通过对资源的定义以及资源实例的定义、注册,实现自定义资源加入自定义thirdpartresourcepackage mainimport ( "flag" "fmt" // "encoding/json" "k8s.io/client-go/kubernetes" "k8s.io/client-go/原创 2017-01-14 15:49:49 · 1718 阅读 · 0 评论 -
使用client-go 进行k8s相关操作-dynamicclient(二)
package mainimport ( "encoding/json" "flag" "k8s.io/client-go/1.5/dynamic" "k8s.io/client-go/1.5/pkg/api/unversioned" "k8s.io/client-go/1.5/pkg/apis/extensions" "k8s.io/client-go/1.5/rest" "k原创 2017-01-12 19:29:41 · 5999 阅读 · 0 评论 -
使用client-go 进行k8s相关操作-restclient(三)
restclient 是dynamic client和clientset的基础,支持json与protobuf,可以访问所有资源,实现对自定义thirdpartresource资源的获取示例代码:package mainimport ( "flag" "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/v1" "k8s.io原创 2017-01-14 15:05:09 · 6424 阅读 · 2 评论 -
golang/protobuf 学习
看到k8s源码里面用到这个东西,感觉和json很相似 学习一下protobuf 和json差不多 用于 encoding/decoding 数据 github 地址是github.com/golang/protobuf开始不知道protoc这个二进制执行文件是干啥的,摸索了好一会儿才明白,原来是用于将proto文件编译为对应的程序文件按照github的例子1.创建proto文原创 2016-11-22 18:49:10 · 709 阅读 · 0 评论 -
go-restful 简单学习
在k8s中启动的httpserver都使用了go-restful,简单学习下主要有webservice router container几个概念参考了官方的例子:https://github.com/emicklei/go-restful/blob/master/examples/restful-user-resource.gopackage mainimport ( "git原创 2016-11-14 18:29:07 · 3989 阅读 · 0 评论 -
k8s cm 启动过程分析
1.main函数k8s.io/kubernetes/cmd/kube-controller-manager/controller-manager.go注册健康检查到http.DefaultServeMuxfunc main() { // 根据默认配置创建cm对象 s := options.NewCMServer() // 添加flag s.AddFlags(pflag.Comman原创 2016-11-13 15:17:58 · 2427 阅读 · 0 评论 -
golang 客户端工具redigo学习
参考:https://godoc.org/github.com/garyburd/redigo/redispackage mainimport ("fmt""github.com/garyburd/redigo/redis""log""os""time")var logger *log.Loggerfunc init() {fil原创 2016-10-12 14:59:21 · 902 阅读 · 0 评论 -
go-sql-driver/mysql 学习
package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql""log")var id intvar departname stringvar leaderemail stringvar token stringfunc main() {db,原创 2016-10-13 17:07:35 · 1746 阅读 · 0 评论 -
golang log包学习
package mainimport ("log""os")var logger *log.Loggerfunc init() {file, err := os.Create("test.log")if err != nil {logger.Fatal(err)}// log.LstdFlags 设置初始值:相当于 log.Lda原创 2016-10-11 18:53:16 · 2147 阅读 · 0 评论 -
golang 通过loginauth方式发送加密邮件
公司邮箱走的是873端口的加密协议,参考了一下网上的资料自己整合了一下package mainimport ("crypto/tls""fmt""log""net""net/smtp")// login auth认证方式type loginAuth struct {username, password string}fun原创 2016-09-21 10:29:23 · 1770 阅读 · 0 评论 -
使用golang生成证书
在k8s的源码里看的,记录一下package mainimport ( "bytes" cryptorand "crypto/rand" "crypto/rsa" "crypto/x509" "crypto/x509/pkix" "encoding/pem" "fmt" "math/big" "net" "time")func main() { ip := []原创 2017-01-11 18:50:54 · 4851 阅读 · 0 评论