/go-demo

Go语言实例教程从入门到进阶,包括基础库使用、设计模式、面试易错点、工具类、对接第三方等

Primary LanguageGoMIT LicenseMIT

Go语言学习

Build Status Code Coverage Go Report Card License go-demo

  • base: Go语言基础
  • pprof: Go性能分析
  • design: Go实现常用设计模式
  • interview: Go面试题及详解
  • sdk: Go对接第三方工具(mqtt、elastic、kafka...)
  • utils: GoWeb开发常用工具类
  • blockchain: Go实现一个简单的区块链
  • proxy: Go实现内网穿透工具
  • spider: Go实现爬虫(QQ协议登录,QQ自动领礼物)
  • leetcode: Go实现LeetCode中的算法题

项目结构

展开查看

├─base
│  ├─context
│  ├─csv
│  ├─file
│  ├─flag
│  ├─goroutine
│  ├─http
│  │  ├─get_post
│  │  ├─restful
│  │  ├─server
│  │  └─url
│  ├─json
│  ├─mail
│  ├─mysql
│  ├─net
│  │  ├─client
│  │  └─server
│  ├─reflect
│  ├─regexp
│  ├─shell
│  ├─sort
│  ├─string
│  ├─sync
│  │  └─atomic
│  ├─time
│  ├─xml
│  └─zip
│      └─test
├─blockchain
│  ├─core
│  └─server
├─design
│  ├─adaptor
│  ├─chain
│  ├─decorator
│  ├─facade
│  ├─factory
│  │  ├─abstract
│  │  └─simple
│  ├─observer
│  ├─proxy
│  ├─singleton
│  ├─strategy
│  └─template
├─interview
│  ├─handpick
│  └─others
├─leetcode
│  ├─difficulty
│  ├─medium
│  └─simple
├─sdk
│  ├─alipay
│  ├─elasticsearch
│  ├─kafka
│  ├─mqtt
│  ├─nsq
│  │  ├─nsqio
│  │  └─test
│  ├─oss
│  ├─rabbitmq
│  ├─redis
│  ├─shortdomain
│  ├─sms
│  └─weixin
├─spider
│  ├─agent
│  ├─gift
│  │  ├─auto
│  │  └─hand
│  └─qq
│      ├─client
│      └─server
└─utils
    ├─cmp
    ├─cron
    ├─disk
    ├─encrypt
    ├─error
    ├─images
    ├─ip
    │  └─address
    ├─markdown
    ├─metadata
    ├─mock
    ├─multiconfig
    ├─name
    ├─pool
    ├─qrcode
    ├─rand
    ├─retry
    ├─seq
    ├─token
    ├─word
    └─xlsx

交流 && 疑问

如果有任何错误或不懂的地方欢迎给我提 issue

如果对你有所帮助,请给个Star,你的支持,是我最大的动力。