zoukankan      html  css  js  c++  java
  • golang文档(目录)

    (源自:https://golang.google.cn/doc/)

    前言

    Go编程语言是一个提高程序员工作效率的开源项目
    Go富有表现力、简洁、简洁、高效。他让编写并发机制程序变得更加容易,能更好的适应多核CPU和联网设备,同时它新颖的类型体系能构建可伸缩和模块化的组件,Go 可以快速编译为机器代码,并且依然保留了便利的垃圾收集机制和运行期反射能力.总之,它是一种快速、静态类型的编译语言,但感觉又像是一种动态类型的解释语言,

    开始

    安装Go
    下载和安装Go说明

    教程:入门
    一个相当简短的HelloWorld入门教程,学习一点点关于Go代码,工具,包(package)以及模块(module)的知识

    教程:创建模块
    一个简短教程,介绍了关于 函数、错误处理、数组、映射、单元测试和编译

    教程:使用Go和Gin开发RESTful API
    介绍使用Go和gin web框架编写restful webAPI的基础知识

    编写Web应用程序
    构建一个简单的web应用程序

    如何编写Go代码
    本文解释了如何在module内开发一组简单的Go package,并演示了如何使用Go命令行来构建(build) 和测试(test)package

    Go之旅
    用交换方式分三节介绍了Go:第一节涵盖了基本语法和数据结构;第二节详述了方法和接口(methods,interfaces);第三节介绍了并发原语(concurrency primitives) <注:primitives为操作系统的名词,指是执行过程中不可被打断的基本操作>

    go get golang.org/x/tour

    这将把文件放在工作区的bin目录中。<注:使用命令go env 可以看到go的安装环境配置 然后 查看GOMODCACHE 指向的路径,即是下载位置.>


     理解使用 Go

    Go的效力(Effective Go) <注:行业内对这个词并没有翻译,如 Effective Java,Effective C++这类大作,并未声明中文译名>
    本文提供了清晰常用的Go代码的编写技巧, 增加了tour<注:就是上文让下载的那个东西>和语言的规范说明,这两个规范都应该首先阅读,这些是任何Go程序员必读科目

    编辑器插件和IDE
    本文总结了常见的编辑器插件和IDE

    诊断
    总结了用于诊断Go程序中问题的工具和方法。

    管理依赖项
    当您的代码使用外部包时,这些包(作为模块分发)将成为依赖项

     

    数据库访问

    教程:访问关系型数据库
    介绍使用Go标准库中database/sql包访问关系数据库的基础知识。

    访问关系型数据库
    概述Go数据存取特性

    打开数据库句柄
    你可以使用Go数据库句柄操作数据库,通过数据库连接语句打开数据库句柄后,该句柄代表您管理的连接池

    执行不返回数据的sql语句
    你可以使用Exec方法执行,诸如 insert,delete,update这类能够改变数据库的sql操作

    数据查询
    使用query或QueryRow方法,可以返回select查询出来的数据。

    使用预定义语句
    预定义语句可以重复使用,这样可以避免每次代码执行数据库操作时重新创建语句的开销,从而帮助代码更快地运行。

    执行事务
    sql.Tx 表示特定的事务语义方法,包括提交和回滚,以及用于执行常见数据库操作的方法。

    取消正在执行中的数据库操作
    使用context.context,您可以让程序的函数或服务在执行过程中提前停止工作,并返回一个错误

    管理连接
    对于某些高级程序,可能需要调整连接池参数或显式使用连接。

    避免sql注入风险
    通过将sql参数值作为sql Package包的入参,可以避免SQL注入风险

      

    开发Module

    开发和发布模块
    您可以将相关package组织到module中,然后发布module供其他开发人员使用,本主题就讲述了如何开发和发布module

    模块的发行和版本控制
    当你正在开发供他人使用的module,你需要遵循一个工作流程以保证可靠性,一致性,,本主题就描述了使用工作流程的牛皮步骤

    管理模块源码
    您可以使用本章所描述的存储库约定, 以使你开发的module更便于给其他开发人员使用.

    开发一个主版本更新器
    对你的用户来说主版本更新是十分要命的,因为这可能引入新的module,并造成巨大破坏,在本章你能学到更多知识

    发行一个module
    当您创造了一个模板,并想让其他开发人员使用时,您可以发布该模块,使其在Go工具中可见。发布模块后,导入其包的开发人员将能够通过运行go-get等命令来产生对模块的依赖.

    module版本号
    module开发人员使用分部版本号机制来表示版本的稳定性和向后兼容性。对于每个新发行版,模块的版本号都会具体反映自上一版本以来模块更改

    常见问题(FAQ)
    回答一些关于Go的常见问题

    参考

    package文档
    go标准库 文档

    命令行文档
    go工具 文档

    语言特性
    官宣的Go特性

    Go module参考
    Go依赖关系管理系统的详细参考手册

    go.mod文件引用
    go.mod文件中包含的指令的参考

    go的内存模型
    在特定条件下可以保证读取一个goroutine中的变量,以观察在不同goroutine中写入同一变量所产生的值。

    发行版历史
    Go发行版的所有摘要

    漫步代码(Codewalks)

    tours项目的目录:
    1.First-Class 功能
    2.使用马尔可夫链产生任意文本
    3.使用Communicating共享内存

    工具:
    1.关于Go的命令行工具 ;我们为什么要写它,它是啥,它不是啥,它能干啥
    2.使用GDB调试Go代码
    3.数据竞争检测器-数据竞争检测器手册
    4.Go汇编程序快速指南-Go使用的汇编程序简介

    维基Wiki

    Go Wiki 维护着关于Go语言、工具和相关资源的文章

    看一看Learn页面可以找到更多go资源

  • 相关阅读:
    硬件笔记之删除UEFI启动项
    高数学习笔记之向量内积(点乘)和外积(叉乘)概念及几何意义
    机器学习笔记之聚类算法K-Means
    机器学习之聚类算法Mean Shift
    机器学习笔记之聚类算法 层次聚类 Hierarchical Clustering
    机器学习笔记之决策树分类Decision Tree
    机器学习笔记之一步步教你轻松学关联规则Apriori算法
    机器学习笔记之占一步步教你学K-means
    完美解决github访问速度慢
    ROS2 cartographer 保存地图
  • 原文地址:https://www.cnblogs.com/yaoshi641/p/15222880.html
Copyright © 2011-2022 走看看