Git Product home page Git Product logo

golang_project's Introduction

golang 语言学习笔记 [基础不牢固,地动山摇~]

并发性Concurrency

错误和异常处理

  • error 接口及其使用
  • defer 语句及使用示例
  • panic 和 recover

数据库ORM

为什么需要context包

细说通道类型

  • 通道类型篇(一):基本语法和缓冲通道
  • 通道类型篇(二):单向通道及其使用
  • 通道类型篇(三):通过 select 语句等待通道就绪
  • 通道类型篇(四):错误和异常处理

细说go语言数据类型

  • 指针
  • go语言中byte类型和rune类型

字符串中常用的系统函数

  • 10进制转换
  • 整数转字符串
  • 字符串转整数
  • 字符串转byte数组
  • len 获取字符串长度
  • rune 类型
  • ...

golang_project [golang开源项目适合练手]

  • chitchat 博客项目
  • reptile 爬虫案例
  • golang实现数据网站抓取项目
  • newSecKill go新秒杀项目
  • secKill go秒杀项目

包的研究和学习

  • package

    • MySQL:github.com/go-sql-driver/mysql 常用的数据库orm
    • sync RWMutex(读写锁),Mutex 互斥锁,sync.WaitGroup 类型
    • viper 热加载配置文件
    • net 熟悉http/https
    • select chan 通道分支
    • singleton_pattern_config sync 通过单例模式初始化全局配置,函数执行一次(优化性能)
    • sort
    • strings
    • sync
    • time
    • viper
    • md5
    • context
    • mysql
    • atomic 「atomic包提供了底层的原子级内存操作,对于同步算法的实现很有用」
    • fmt 「mt包实现了类似C语言printf和scanf的格式化I/O。格式化动作('verb')源自C语言但更简单」
    • url 「url包解析URL并实现了查询的逸码」
    • bytes 「bytes包实现了操作[]byte的常用函数。本包的函数和strings包的函数相当类似」
    • strconv 「strconv 包实现了基本数据类型和其字符串表示的相互转换」

语言学习路线图

go 实现的案例demo

  • 用Go语言计算一个人的年龄,生肖,星座

go应用

  • 定时器
  • 类型断言
  • 内置函数
  • go控制并发两种方式
  • goroutine 和 channel
  • 反射
  • slice
  • map

ETCD

  • ETCD

go常见错误总结

  • go语言坑之for range
  • 创建的链接,使用完要关闭
  • map 处理完map元素的任务,要删掉该map的元素,避免重复处理

go面向对象

  • 接口
    • 接口实现
    • 接口多态
    • 接口继承
    • 接口转换
    • 空接口

设计模式

  • 创建型模式

    • 单例模式
    • 抽象工厂模式
    • 工厂方法模式
    • 生成器模式
    • 原型模式
  • 结构型模式

  • 行为型模式

goroutine

  • goroutine

json序列化与反序列化

  • json序列化与反序列化

go uuid

  • uuid

Web 编程

  • chitchat 二次开发案例

    • 声明:本项目基于 Go Web Programming 一书中的 chitchat 做的二次开发,在原项目基础上将数据库调整为 MySQL、路由器调整为了 gorilla/mux、调整了整体目录结构、新增了配置文件单例模式获取、本地化编程以及应用部署流程。

Web 框架

插件/package

项目

基于beego,jquery easyui ,bootstrap的一个后台管理系统

Golang 设计模式文档

ORM 引擎文档

golang_project's People

Contributors

webtao520 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.