随笔分类 -  Go的进阶之路

摘要:区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 一、Go语言中的指针 Go语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候,我们可以创建一个指向该变量地址的指针变量。传递数据使用指针,而无 阅读全文
posted @ 2019-07-04 14:38 Ambition-LC 阅读(395) 评论(0) 推荐(0)
摘要:Go语言中提供的映射关系容器为 , 1. Go中内置类型,其内部使用 实现,为 引用类型 。 2. 无序 键值对(key value)集合,通过key(类似索引)快速检索数据 3. 必须初始化才能使用 。 一、map 1.1 map是什么? Map是一种数据结构,是一个集合,用于存储一系列 无序 的 阅读全文
posted @ 2019-04-30 19:16 Ambition-LC 阅读(327) 评论(0) 推荐(0)
摘要:本文主要介绍Go语言中切片(slice)及它的基本使用。 一、引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: 这个求和函数只能接受 类型,其他的都不支持。 再比如, 数组a中已经有三个元素了,我们不能再继续往数组a中添加新元素了。 二、切片 2.1 切片知 阅读全文
posted @ 2019-04-25 19:03 Ambition-LC 阅读(306) 评论(0) 推荐(0)
摘要:本文主要介绍Go语言中数组(array)及它的基本使用。 一、Array(数组) 数组是 同一种数据类型元素 的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: 1.1 数组定义: 比如: , 数组的长度必须是常量,并且 长度是数组类型的一部分。一 阅读全文
posted @ 2019-04-16 17:49 Ambition-LC 阅读(243) 评论(0) 推荐(0)
摘要:本文整理了Go语言的标准输出流(fmt.Printf)在打印到屏幕时的格式化输出操作。 在这里按照占位符将被替换的变量类型划分,更方便查询和记忆。 总结 1.1 General(通用占位符) | 占位符 | 说明 | | : : | : : | | %v | 以默认的方式打印变量的值(万能占位符,如 阅读全文
posted @ 2019-04-13 12:03 Ambition-LC 阅读(9875) 评论(0) 推荐(3)
摘要:运算符用于在程序运行时执行数学或逻辑运算。 一、运算符 Go 语言内置的运算符有: 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 1.1 算数运算符 | 运算符 | 描述 | | : : | : : | | + | 相加 | | | 相减 | | | 相乘 阅读全文
posted @ 2019-04-12 18:16 Ambition-LC 阅读(134) 评论(0) 推荐(0)
摘要:一、位运算符 位运算符对整数在内存中的 二进制位 进行操作。 | 运算符 | 描述 | | : : | : : | | & | 参与运算的两数各对应的二进位相与。 (两位均为1才为1) | | \| | 参与运算的两数各对应的二进位相或。 (两位有一个为1就为1) | | ^ | 参与运算的两数各对 阅读全文
posted @ 2019-04-12 17:56 Ambition-LC 阅读(1022) 评论(0) 推荐(0)
摘要:1、将字符串"hello"逆序打印出来。实现结果"olleh" 方法1: 代码示例如下: 方法2: 代码示例如下: go package main import ( "fmt" ) func main() { s1 := "hello" byteArray := []byte(s1) // [h e 阅读全文
posted @ 2019-04-12 12:04 Ambition-LC 阅读(295) 评论(0) 推荐(0)
摘要:流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。 Go语言中最常用的流程控制有 和`for switch goto`主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。 一、if else(分支结构) 1.1 if条件判断基本写法 Go语言中 阅读全文
posted @ 2019-04-10 18:56 Ambition-LC 阅读(189) 评论(0) 推荐(0)
摘要:Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 一、整型 1.1 基本类型 整型分为以下两个大类: 按长度分为:int8(8位2进制数)、int16、int32、int64 阅读全文
posted @ 2019-04-02 16:34 Ambition-LC 阅读(240) 评论(0) 推荐(0)
摘要:变量和常量是编程中必不可少的部分,也是很好理解的一部分。 一、标识符与关键字 1.1 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和 (下划线)组成,并且只能以字母和 开头。 举几个例子: , , , 。 1.2 关键字 关 阅读全文
posted @ 2019-03-28 19:26 Ambition-LC 阅读(245) 评论(0) 推荐(0)
摘要:一、下载 下载地址: Go官网下载地址: Go官方镜像站(推荐): 版本的选择 Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。 二、安装 2.1 Windows下安装 此安装实例以 系统安装 为例。 将上一步选好的安装包下载到本地。 双击下载好的文件 2.2 Li 阅读全文
posted @ 2019-03-28 12:36 Ambition-LC 阅读(359) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-01-08 16:54 Ambition-LC 阅读(446) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-01-08 16:52 Ambition-LC 阅读(615) 评论(0) 推荐(0)
摘要:一、变量介绍 1.1 变量的内在机制 A. 类型信息,这部分是元信息,是预先定义好的;比如:string、int等 B. 值类型,这部分是程序运行过程中,动态改变的;比如:是变量实例所存储的真是的值。 例1: 例2: 二、反射介绍 2.1 反射与空接口 A. 空接口可以存储任何类型的变量 B. 那么 阅读全文
posted @ 2018-09-06 10:32 Ambition-LC 阅读(314) 评论(0) 推荐(0)
摘要:一、Gin框架介绍 1.1 简介 A. 基于httprouter开发的web框架。 http://github.com/julienschmidt/httprouter B. 提供Martini风格的API,但比Martini要快40倍 C. 非常轻量级,使用起来非常简洁 1.2 Gin框架的安装与 阅读全文
posted @ 2018-08-20 19:02 Ambition-LC 阅读(1097) 评论(0) 推荐(0)
摘要:一、web编程基础 1.1 web工作方式 1.2 HTTP协议详解 a、http 请求包体 GET /domains/example/ HTTP/1.1 //请求行: 请求方法 请求URI HTTP协议/协议版本 Host:www.iana.org //服务端的主机名 User-Agent:Moz 阅读全文
posted @ 2018-08-20 19:01 Ambition-LC 阅读(331) 评论(0) 推荐(0)
摘要:一、接口介绍和定义 1.1 接口定义了一个对象的行为规范 A. 只定义规范,不实现 B. 具体的对象需要实现规范的细节 葵花宝典: 接口就是一层封装,1个例子,封装一个返还浏览器内容的接口。为什么不直接面向对象呢。你封装成一个接口的话,不论是返回文件或者图片或者html都可以通过接口进行返回,不用接 阅读全文
posted @ 2018-08-17 19:11 Ambition-LC 阅读(467) 评论(0) 推荐(0)
摘要:一、介绍与连接 1.1 介绍 使用第三方的redis库, github.com/garyburd/redigo/redis github地址:https://github.com/gomodule/redigo 下载: 1.2 连接redis 执行结果: 二、redis开发 2.1 set操作 执行 阅读全文
posted @ 2018-08-17 19:10 Ambition-LC 阅读(406) 评论(0) 推荐(0)
摘要:一、Mysql驱动及数据库连接 1.1 Golang中的Mysql驱动 A. https://github.com/go-sql-driver/mysql B. Go本身不提供具体数据库驱动,只提供驱动接口和管理。(官方只是封装了接口并没有提供具体的实现) C. 各个数据库驱动需要第三方实现,并且注 阅读全文
posted @ 2018-08-10 11:35 Ambition-LC 阅读(784) 评论(0) 推荐(0)