尹成的技术博客

尹成大魔王区块链与人工智能的技术分享

尹成学院golang学习快速笔记(1)类型

1.1 变量 Go 是静态类型语⾔,不能在运⾏期改变变量类型。 使⽤关键字 var 定义变量,⾃动初始化为零值。如果提供初始化值,可省略变量类型,由编译器⾃动推断。var x int var f float32 = 1.6 var s = "abc"在函数内部,...

2018-05-26 16:58:28

阅读数:384

评论数:0

区块链交易所基础开发(1)通过接口查询区块链各个币种的提币情况-ada

代码如下package main import ( "errors" "fmt" "math" "strconv" "str...

2018-05-26 16:20:14

阅读数:731

评论数:0

Golang精编100题-搞定golang面试

Golang精编100题能力模型级别 模型 初级 primary 熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级 intermediate 能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目...

2018-05-26 16:08:16

阅读数:2200

评论数:0

用Vagrant构建统一的golang开发环境

开发环境是我们日常工作的一个环境,不论你现在的公司是否会强制你使用统一的开发环境,对于希望通过阅读本书,跟着本书一起写项目的同学来说,我希望大家有统一的环境,这不仅有利于代码的一致性,同时也是为了减少大家在开发中遇到很多不必要的问题。为了能够保证我们接下来的开发环境保持一致性,我们这一章介绍一个能...

2018-05-26 14:22:06

阅读数:575

评论数:0

兄弟连go教程(19)数据 - ⾯面向对象

⾯面向对象三⼤大特征⾥里,Go 仅⽀支持封装,尽管匿名字段的内存布局和⾏行为类似继承。没有class 关键字,没有继承、多态等等。type User struct { id int name string } type Manager struct { User title string } m...

2018-07-04 13:52:49

阅读数:252

评论数:0

兄弟连go教程(19)数据 - 匿名字段

匿名字段不过是⼀一种语法糖,从根本上说,就是⼀一个与成员类型同名 (不含包名) 的字段。被匿名嵌⼊入的可以是任何类型,当然也包括指针。type User struct { name string } type Manager struct { User title string } m := M...

2018-07-04 13:51:30

阅读数:216

评论数:1

兄弟连go教程(19)数据 -Struct

值类型,赋值和传参会复制全部内容。可⽤用 "_" 定义补位字段,⽀支持指向⾃自⾝身类型的指针成员。type Node struct { _ int id int data *byte next *Node } func main() { n1 := Node{ ...

2018-07-04 13:49:23

阅读数:162

评论数:0

兄弟连go教程(18)数据 - Map

引⽤用类型,哈希表。键必须是⽀支持相等运算符 (==、!=) 类型,⽐比如 number、string、pointer、array、struct,以及对应的 interface。值可以是任意类型,没有限制。m := map[int]struct { name string age int }{ 1...

2018-07-04 13:46:27

阅读数:122

评论数:0

兄弟连go教程(17)数据 - Slice

需要说明,slice 并不是数组或数组指针。它通过内部指针和相关属性引⽤用数组⽚片段,以实现变⻓长⽅方案。runtime.h struct Slice { // must not move anything byte* array; // actual data uintgo len; // nu...

2018-07-04 13:34:52

阅读数:139

评论数:0

兄弟连go教程(16)数据 - Array

和以往认知的数组有很⼤大不同。•数组是值类型,赋值和传参会复制整个数组,⽽而不是指针。•数组⻓长度必须是常量,且是类型的组成部分。[2]int 和 [3]int 是不同类型。•⽀支持 "=="、"!=" 操作符,因为内存总是被...

2018-07-04 13:26:10

阅读数:219

评论数:0

兄弟连go教程(15)函数 - 错误处理

没有结构化异常,使⽤用 panic 抛出错误,recover 捕获错误。func test() { defer func() { if err := recover(); err != nil { println(err.(string)) // 将 interface{} 转型为具体类型。 }...

2018-07-04 13:24:05

阅读数:90

评论数:0

兄弟连go教程(15)函数 - 延迟调用

关键字 defer ⽤用于注册延迟调⽤用。这些调⽤用直到 ret 前才被执⾏行,通常⽤用于释放资源或错误处理。func test() error { f, err := os.Create("test.txt") if err != nil { return e...

2018-07-04 13:20:39

阅读数:102

评论数:0

兄弟连go教程(14)函数 - 匿名函数

匿名函数可赋值给变量,做为结构字段,或者在 channel ⾥里传送。// --- function variable --- fn := func() { println("Hello, World!") } fn() // --- function coll...

2018-07-04 13:17:18

阅读数:102

评论数:0

兄弟连go教程(13)函数 返回值

不能⽤用容器对象接收多返回值。只能⽤用多个变量,或 "_" 忽略。func test() (int, int) { return 1, 2 } func main() { // s := make([]int, 2) // s = test() // Error...

2018-07-04 13:15:34

阅读数:93

评论数:0

兄弟连go教程(12)函数 - 变参

变参本质上就是 slice。只能有⼀一个,且必须是最后⼀一个。func test(s string, n ...int) string { var x int for _, i := range n { x += i } return fmt.Sprintf(s, x) } func main()...

2018-07-04 13:07:58

阅读数:98

评论数:0

兄弟连go教程(11)函数 - 函数定义

不⽀支持 嵌套 (nested)、重载 (overload) 和 默认参数 (default parameter)。•⽆无需声明原型。•⽀支持不定⻓长变参。•⽀支持多返回值。•⽀支持命名返回参数。•⽀支持匿名函数和闭包。使⽤用关键字 func 定义函数,左⼤大括号依旧不能另起⼀一⾏行。func t...

2018-07-04 13:06:11

阅读数:91

评论数:0

兄弟连go教程(10)表达式 - 控制流

1. IF很特别的写法:•可省略条件表达式括号。•⽀支持初始化语句,可定义代码块局部变量。•代码块左⼤大括号必须在条件表达式尾部。x := 0 // if x > 10 // Error: missing condition in if statement // { // }...

2018-07-04 13:03:30

阅读数:90

评论数:0

兄弟连go教程(9)表达式-初始化

初始化复合对象,必须使⽤用类型标签,且左⼤大括号必须在类型尾部。// var a struct { x int } = { 100 } // syntax error // var b []int = { 1, 2, 3 } // syntax error // c := struct {x in...

2018-07-04 12:54:11

阅读数:98

评论数:0

兄弟连go教程(8)表达式--保留字;运算符

语⾔言设计简练,保留字不多。break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for...

2018-07-04 12:51:05

阅读数:91

评论数:0

兄弟连go教程(7)自定义类型

可将类型分为命名和未命名两⼤大类。命名类型包括 bool、int、string 等,⽽而 array、slice、map 等和具体元素类型、⻓长度等有关,属于未命名类型。具有相同声明的未命名类型被视为同⼀一类型。•具有相同基类型的指针。•具有相同元素类型和⻓长度的 array。•具有相同元素类型的...

2018-07-04 12:39:56

阅读数:102

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭