搬砖的乔布梭
这个作者很懒,什么都没留下…
展开
-
漫谈Go语言与区块链
Go语言优势高并发:百万级并发能力,令所有其它语言黯然失色;简洁:语法简洁媲美Python,学习成本低,开发速度快;高效:执行效率媲美C++;底层语言:意味着C能做的事情Go都可以做;博采众长:简化的C语言指针 + Java的内存管理/异常处理/反射 + Python的多返回值/一行声明多个变量;谷歌:谷歌嫡出的战略性语言你懂的;应用领域:Web、容器、微服务、区块链…总结:Go...原创 2018-12-20 01:09:34 · 7673 阅读 · 2 评论 -
漫谈Go语言后端开发
为什么使用Go语言做后端开发?简单高效:几乎所有主流的编程语言如Java、C++、PHP、Python、JavaScript等等都是可以用于服务端开发的,Go语言作为后起之秀,在语言层面具有语法简洁、执行效率高(底层语言)的特点;相比之下,Java和Python、PHP都显得低效,C++则太过麻烦,而Go则可以做到简单与高效兼顾;高并发:Go语言是主打并发、为并发而生的,其出发点即是瞄准大数...原创 2019-02-14 21:47:08 · 24083 阅读 · 0 评论 -
1.1 Go语言介绍
历史掌故 开源的编程语言 简单、可靠、高效 作者 Rob Pike 曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。 Robert Griesemer 曾协助制作Java的H...原创 2018-09-12 21:24:27 · 391 阅读 · 0 评论 -
1.2 Go语言开发环境搭建
开发环境搭建 Go环境 https://golang.google.cn/dl/ Goland 官网下载 https://www.jetbrains.com/go/download/#section=windows 在线激活地址 http://idea.youbbs.org...原创 2018-09-13 10:26:48 · 506 阅读 · 0 评论 -
1.3 详解GOPATH
1.3 详解GOPATH原创 2018-09-13 00:00:11 · 826 阅读 · 0 评论 -
1.4 Go语言基本数据类型
1.4 Go语言基本数据类型原创 2018-09-12 22:14:33 · 341 阅读 · 0 评论 -
1.5 常量、变量、表达式
常量的声明//圆周率是永恒不变的const pi float32 = 3.14变量的声明//半径是实时变化的var radius int表达式 将常量变量使用运算符连接起来的式子//面积计算的表达式var area = pi*radius*radius动态检测常量和变量的类型、//动态判别类型const LightSpeed = 300000var ...原创 2018-09-12 22:15:51 · 497 阅读 · 0 评论 -
1.6 iota定义常量组
iota常量组概述 第一个常量的iota,值为0 后面的常量自动沿用第一个常量的表达式 后面常量中的iota会自动递增package mainimport "fmt"//常量组中的iota会从0开始自动增长const ( Sunday = iota //0 Monday Tuesday Wednesday Thursday ...原创 2018-09-12 22:18:51 · 333 阅读 · 0 评论 -
1.7 标准输入与输出
输入输出概述 略博彩游戏 该例演示了标准输入的用法import ( "fmt" "math/rand" "time")func main() { fmt.Println("亲请输入下注金额和下注球队:&amp原创 2018-09-12 22:18:36 · 301 阅读 · 1 评论 -
1.8 程序运算1:数学运算
1.8 程序运算1:数学运算原创 2018-09-12 22:20:01 · 656 阅读 · 0 评论 -
1.9 程序运算2:逻辑运算
1.9 程序运算2:逻辑运算原创 2018-09-12 22:20:43 · 476 阅读 · 0 评论 -
1.10 程序运算3:位运算
位运算 按位与:两位都为1,结果就为1 按位或:只要有一个1,结果就是1 按位异或:两位不同则为1,相同则为0func bitOperation() { fmt.Println(22 & 13) fmt.Println(22 | 13) fmt.Println(22 ^ 13)}移位运算 左移:末尾添0 右移:移出边界func shift...原创 2018-09-12 22:22:10 · 243 阅读 · 0 评论 -
1.11 流程控制1:选择结构
1.5 流程控制1:选择结构原创 2018-09-12 22:31:38 · 219 阅读 · 0 评论 -
1.12 流程控制2:循环结构
1.6 流程控制2:循环结构原创 2018-09-12 22:37:18 · 266 阅读 · 0 评论 -
1.13 流程控制3:延时执行defer
1.7 流程控制3:defer与select原创 2018-09-12 22:38:55 · 247 阅读 · 0 评论 -
1.14 流程控制4:直接跳转goto
概述 goto SOMEWHERE就是:直接去到标记为SOMEWHERE地方在任意时候GAMEOVERfunc main() { //顺序结构 fmt.Println("hello") fmt.Println("golang") //选择结构 if time.Now().Hour()%2 == 1 { fmt.Println...原创 2018-09-12 22:41:04 · 843 阅读 · 0 评论 -
1.19 复合类型1:数组
创建数组func demo71() { var a1 [10]int var a2 [10]int = [10]int{} var a3 = [10]int{0, 1, 2, 3, 4, 5} var a4 = [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} a5 := [...]int{0, 1, 2, 3, 4, 5...原创 2018-09-06 05:48:15 · 378 阅读 · 0 评论 -
1.20 复合类型2:切片
创建切片func demob1() { //var s1 []int = []int{0,1,2} //var s2 = []int{0,1,2} //s3 := []int{0,1,2} //fmt.Printf("type=%T,value=%v\n",s3,s3) s4 := make([]int, 3) fmt.Printf("typ...原创 2018-09-06 06:51:10 · 235 阅读 · 0 评论 -
1.21 复合类型3:映射
创建mapfunc demo81() { //var mmp = map[string]int{} //var mmp map[string]int //var mmp = map[string]int{"代码量":10000,"酒量":20} //通过内建函数make创建 //mmp := make(map[string]int) //创...原创 2018-09-06 07:09:30 · 424 阅读 · 0 评论 -
1.22 复合类型4:指针
指针概述 指针就是地址 所有普通类型都有对应的指针类型:int,*float64,*bool,*book,[10]int,*map[string]interface{} 对普通变量取地址 &age 取地址中的值 *agePtrfunc demoa1() { var age int = 20 //对age取地址,赋值给整型指针agePointer var ...原创 2018-09-06 07:15:47 · 248 阅读 · 0 评论 -
1.23 复合类型5:结构体
定义结构体type book struct { //书名属性 name string //价格属性 price float64}创建对象时直接对属性赋值func demo91() { b := book{"水许传",34.56} fmt.Printf("type=%T,value=%#v\原创 2018-09-06 07:34:32 · 250 阅读 · 0 评论 -
1.15 函数1:参数和返回值
1.8 Go语言函数原创 2018-09-06 19:27:59 · 258 阅读 · 0 评论 -
1.16 函数2:匿名函数
反正就是懒得起名字了,具体用法如下//匿名函数func main() { //延时执行的匿名函数 defer func() { fmt.Println("劳资延时·无名,劳资最后执行") }() //并发执行的匿名函数 go func() { fmt.Println("劳资并发·无名,劳资并发执行") }(...原创 2018-09-06 19:33:23 · 269 阅读 · 0 评论 -
1.17 函数3:闭包函数
闭包函数概述 闭包函数:返回函数的函数 闭包的好处:【内层函数的状态】被保存在闭包中 不使用闭包,就要开辟多个全局变量来保存函数以外的数据 如果说这个函数被多方调用,大家都需要各保存各的数据,那么此时就需要开辟多个全局变量 具体使用哪个全局变量,还要在函数内做判断——增大了重复的代码量,令代码看起来比较垃圾使用多个全局变量保存多套副本的索引//全局变量var heros = [...原创 2018-09-06 19:42:54 · 219 阅读 · 0 评论 -
1.18 读取命令行参数
1.9 读取命令行参数原创 2018-09-06 19:59:37 · 413 阅读 · 0 评论 -
1.24 SDK标准库1:strings
func main() { fmt.Println(strings.Contains("Hello", "shit")) //false fmt.Println(strings.Contains("Hello", "lo")) //true fmt原创 2018-09-08 11:48:04 · 263 阅读 · 0 评论 -
1.26 SDK标准库3:os
package mainimport ("os""fmt""time")func main() { //D:\BJBlockChain1801\demos\ dir, _ := os.Getwd() fmt.Println(dir) //D:\iWorkspace\GoPros\Go18DaysCode\原创 2018-09-08 11:54:23 · 266 阅读 · 0 评论 -
1.25 SDK标准库2:math
package mainimport ( "math/big" "fmt")func main() { //创建大数(值可以突破int64) bigInt1 := big.NewInt(123) bigInt2 := new(big.Int) bigInt2.SetString("31415926535897932384原创 2018-09-08 14:11:38 · 261 阅读 · 0 评论 -
2.1 面向对象1:封装
2.1 面向对象1:封装原创 2018-09-10 06:18:49 · 265 阅读 · 0 评论 -
2.2 面向对象2:继承
2.2 面向对象2:继承原创 2018-09-10 06:50:31 · 313 阅读 · 0 评论 -
2.3 面向对象3:多态
2.3 面向对象3:多态原创 2018-09-10 07:20:33 · 218 阅读 · 0 评论 -
2.4 面向对象4:接口与实现
2.4 面向对象4:抽象与接口详解原创 2018-09-11 09:49:15 · 303 阅读 · 0 评论 -
2.5 面向对象5:接口的继承
定义两个父类接口//定义动物接口:所有动物都会新陈代谢,都会挂掉type Animal interface { //新陈代谢:吃进来+排出去,shit就是翔啊~ Eat(food string) (shit string) //GAME OVER Die()}//定义战士接口,会进攻和防守type Fighter interface { /...原创 2018-09-11 20:26:10 · 381 阅读 · 0 评论 -
2.6 面向对象5:接口的类型断言
2.6 面向对象5:接口的类型断言原创 2018-09-10 07:27:43 · 374 阅读 · 0 评论 -
2.7 文件操作1:文件读写的一般操作
2.5 文件读写原创 2018-09-11 20:25:30 · 280 阅读 · 0 评论 -
2.8 文件操作2:实战案例
导入依赖import ( "fmt" "io" "os" "io/ioutil")实现方式1func copyFile(s原创 2018-09-11 20:26:43 · 266 阅读 · 0 评论 -
2.9 JSON读写1:JSON序列化
2.6 JSON读写原创 2018-09-12 21:26:37 · 334 阅读 · 0 评论 -
2.10 JSON读写2:JSON反序列化
导入依赖import ( "encoding/json" "fmt")定义结构体type Human struct { Name string Age int Sex bool Hobbies []string}定义数据var jsonStr,jsonStr2 stringvar zqd Hum...原创 2018-09-12 21:27:03 · 344 阅读 · 0 评论 -
2.11 JSON读写3:读写JSON文件
导入依赖import ( "encoding/json" "os" "fmt")定义结构体type PersonII struct { Name string Age int Sex bool Hobbies原创 2018-09-12 21:42:35 · 803 阅读 · 0 评论 -
2.12 异常处理1:恐慌与处理
2.7 异常处理原创 2018-09-12 22:20:42 · 281 阅读 · 0 评论