Go语言中文网 为您找到相关结果 158

Go语言编程(旧读书笔记)

Go语言编程 目录 [隐藏] 1 前言2 初识Go语言3 顺序编程4 OOP5 并发编程6 网络编程7 安全编程8 工程管理9 开发工具10 进阶话题11 附录A [编辑]前言 协程? go run('test')Go强制了{ }的编写风格: if expression {错误处理: defer?相当于finally?注意这里的作用域,defer之前似乎没有用{ }把整个(try)块括起来? defer相当于说推迟语句的执行,其内部实现会自动管理嵌套作用域的问题? Go允许返回多个值(像Python里的tuple返回) Go用组合,不用继承、虚函数、虚函数重载Go里的变量声明是先变量名字,后类型名字(Pascal风格,但没有:)?Go的接口是duck typing吗? Go里,2个接口只要拥...阅读全文

博文 2015-06-29 22:00:02 cteng

Go学习笔记之:Switch 语句

当条件判断分支太多的时候,我们会使用switch语句来优化逻辑。 package main import "fmt" import "time" func main() { // 基础的switch用法 i := 2 fmt.Print("write ", i, " as ") switch i { case 1: fmt.Println("one") case 2: fmt.Println("two") case 3: fmt.Println("three") } // 你可以使用逗号来在case中分开多个条件。还可以使用default语句, // 当上面的case都没有满足的时候执行default所指定的逻辑块。 switch time.Now().Weekday() { case ti...阅读全文

博文 2014-11-27 23:00:03 Goopand

Jupyter 笔记本的 Go 内核 gophernotes

### gophernotes - Go in Notebooks gophernotes is a Go kernel for Jupyter notebooks. Finally, we can have a reliable and maintained way to use Go interactively and code in the browser. Use gophernotes to create and share documents that contain live Go code, equations, visualizations and explanatory text. These notebooks, with the live Go code, can...阅读全文

Debian Gnu/Linux8.5安装GOLANG环境笔记

1、下载平台相关GOLANG文件,因为朝内墙了GOLANG官网,只能使用朝内GOLANG热心小伙伴提供的下载方式 2、tar -zxvf go1.6.2.linux-amd64.tar.gz -C /usr/local 3、vi /etc/profile 添加如下内容(红字部分为添加内容): # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/us...阅读全文

博文 2016-08-04 20:00:12 ak_birdofprey

GO 学习笔记(四)struct 结构

1.struct结构,字段集合。 2.字段使用点号来访问。 3.字段可以通过指针来访问。 func main() { row1 := []User{ User{"man1", 22, true}, User{"man2", 23, true}, } fmt.Println(row1) // [{man1 22 true} {man2 23 true}] user := User{"man", 18, true} fmt.Println(user) fmt.Println(user.Name) // {man 18 true} // man user1 := &user user1.Name = "super_man" fmt.Println(user1.Name) // super_man ...阅读全文

博文 2015-10-07 17:00:01 best_raven

【嗜血GO笔记】引入包的一个异常

我们以User为例cannot use user (type *"models".User) as type *"Service/src/models".User in argument to manager.AddNewUser我们明明用的是一个User 啊,为啥会这样告诉类型不匹配呢?其实这个异常并不是类型不匹配,而是一端我们使用了相对路径引包:"models"而另一端却是:"Service/src/models"这种绝对路径,在go中这种引入方式是不允许的,会被默认为两个struct,所以都改成相对路径或是绝对路径就可以了...阅读全文

博文 2015-02-25 23:00:01 嗜血程序员

Windows平台下编译GO语言

Google官方还没有放出Windows平台下的Go语言编译环境,不过对于想体验下Go语言的朋友可以尝试下爱好者写的 移植版本 下载: go-1.zip 环境设置: set GOROOT= set GOOS=mingw set GOARCH=386 例如我安装在如下目录 F:/tool/go-1/go/ 则设置如下: C:/>set GOROOT=F:/tool/go-1/go/ C:/>set GOOS=mingw C:/>set GOARCH=386 C:/>set GOBIN=F:/tool/go-1/go/bin 编译例子程序 在记事本输入一个程序并保存为hello.go package main import "fmt" func main() { f...阅读全文

golang学习笔记[5] 整型

golang的整型总类众多,但一般只是使用使用int或者uintt就好了, package main import ( "fmt" "unsafe" ) func main() { var i1 int8 = 1 //1 byte var i2 int16 = 2 //2 byte var i3 int32 = 3 // 4 byte var i4 int64 = 4 // 8 byte var i5 int = 5 // 32位:4 64位:8 var i6 uint8 = 1 // 1 byte var i7 uint16 = 2 // 2 byte var i8 uint32 = 3 // 4 byte var i9 uint64 = 4 // 8 byte var i10 uint ...阅读全文

博文 2015-06-17 20:02:28 zhouyunxuan

(Yegor Maslov)我们放弃以太坊选择了超级账本

2019-03-25 区块链前哨 Yegor Maslov 等 在实际环境中,我们放弃以太坊选择了超级账本 本文要点: 不久前,OpenGift 团队探索了在生产环境中部署基于超级账本(HyperLedger)的区块链。本文呈现了我们集成它的尝试过程和所遇到的问题,以及帮助我们解决问题的技巧。 我们认为,与私有以太坊(Ethereum)网络相比,超级账本 Fabric 可能是基于区块链的业务应用程序更好的选择。 借助超级账本,我们可以构建一个系统,里面的客户不需要信任其他客户,合作者也不需要信任其他合作者(但是,客户必须信任合作者)。 该网络易于扩展,无需父组织也可存在。 超级账本并非没有技术缺陷,因此,要准备编写大量支持脚本以在生产环境中维护超级账本。 不久前,我们团队探索了在生产环境中部...阅读全文

博文 2019-03-29 02:34:40 大圣2017

Go 语言圣经-习题汇总(Go 程序设计语言/The Go Programming Language)

本文针对 Go 语言圣经 - 《Go 程序设计语言/The Go Programming Language》的所有习题进行筛选去重后,选取了一些比较典型的案例(80%以上)进行解析解答,分为两个版本,分别适合有原书和没有原书的童鞋进行学习巩固,本文将持续更新。 原书版 第一章:入门 1.1:修改 echo 程序输出 os.Args[0],即命令的名称。 1.2:修改 echo 程序,输出参数的索引和值,每行一个。 1.3:尝试测量可能低效的程序和使用 strings.Join 的程序在执行时间上的差异。 1.4:修改 dup2 程序,输出出现重复行的文件的名称。 1.7:函数 io.Copy(dst, src) 从 src 读,并且写入 dst。使用它代替 ioutil.ReadAll 来复...阅读全文

博文 2019-12-14 10:32:38 shadows

Go学习笔记之:数组

初步: array_example.go package main import ( "fmt" ) func main() { var arr_1 [10]int var sum int fmt.Println("\nlen(arr_1): ", len(arr_1)) fmt.Println("initial value of arr_1:") for _, elem := range arr_1 { fmt.Print(elem, " ") } fmt.Println("\ninitial value of sum: ", sum, "\n") fmt.Println("arr_1:") for i := 0; i < len(arr_1); i++ { arr_1[i] = len(...阅读全文

博文 2014-11-14 15:00:06 Goopand

golang学习笔记之-采集gbk乱码的问题?

package main import ( "bufio" "fmt" "golang.org/x/net/html/charset" "golang.org/x/text/transform" "io" "io/ioutil" "net/http" ) func DetermineEncoding(r io.Reader) []byte { OldReader := bufio.NewReader(r) bytes, err := OldReader.Peek(1024) if err != nil { panic(err) } e, _, _ := charset.DetermineEncoding(bytes, "") reader := transform.NewReader(Old...阅读全文

博文 2019-02-18 19:34:44 Maggie_up

SAP云平台,区块链,超级账本和智能合约

前一篇文章《Hyperledger Fabric on SAP Cloud Platform》,我的同事Aviva已经给大家介绍了基于区块链技术的超级账本(Hyperledger)的一些概要知识。Fabric是超级账本5个并行项目中的其中之一,因为发展较为成熟,SAP云平台对Fabric也提供了较好的支持。 学完了前一篇文章的理论知识后,今天我们来动手实践一下。 我们做的这个练习的范围很窄,就是学会如何使用go语言开发一组微服务,这组微服务包含读和写两个API,能够将数据写入架设于SAP云平台上的超级账本服务。 大家还记得之前Aviva介绍的智能合约(Smart Contract)么? 简单地说,应用程序通过智能合约接口同超级账本进行读写操作。我们将开发一个Hello World的智能合约,...阅读全文

博文 2018-09-27 10:34:48 JerryWangSAP

Go语言实战笔记(二十八)| Go 后记

《Go语言实战》读书笔记已经完结,感谢支持,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,跟进后续文章。 《Go语言实战》笔记到现在算是结束了,基本上关于Go的方方面面都讲到了,还有些不是太常用的,比如CGO以后会专门再讲,不会放在这个系列里了。该系列一共写了近30篇文章,约15W字,大概写了近4个月的时间,基本上每周一篇,产出不算高,但还算稳定。 初衷我14年接触Go语言,是因为Docker,才开始去了解这门语言,入门很简单,比C语言更容易,并且性能也很高,所以就选择了这门语言作为我的“C语言”,平时做一些辅助工作或者批处理的工具什么的,并没有花很大精力去学。 在后面的两年,一直到16年,接触和使用Go都比较少,一直到Go成为16年的年度语...阅读全文

博文 2017-08-30 02:02:33 飞雪无情

golang学习笔记之-多层循环嵌套贴标签

如果是多层循环嵌套,那么默认结束最里层的循环。如果想结束外层循环,可以通过"贴标签"的形式。 正常使用 package main import ( "fmt" ) func main() { for i := 1; i <= 5; i++ { for j := 1; j <= 5; j++ { if j == 2 { continue //结束的是里层循环:结束这一次i } fmt.Printf("i:%d,j:%d\n", i, j) } } } /* output: i:1,j:1 i:1,j:3 i:1,j:4 i:1,j:5 i:2,j:1 i:2,j:3 i:2,j:4 i:2,j:5 i:3,j:1 i:3,j:3 i:3,j:4 i:3,j:5 i:4,j:1 i:4,j:3 ...阅读全文

博文 2018-09-02 20:34:42 Maggie_up

微服务的反模式和陷阱 Microservices AntiPatterns and Pitfalls 读书笔记

目录 [−] 数据驱动的迁移反模式太多的数据迁移功能分割优先,数据迁移最后超时反模式使用超时使用熔断器设计模式共享反模式太多依赖共享代码的技术到达报告反模式微服务报告的问题Asynchronous Event Pushing沙粒陷阱分析服务的范围和功能分析数据库事务分析服务编排无因的开发者陷阱随大流陷阱其它架构模式静态契约陷阱我们到了吗陷阱REST陷阱 前几天我写了篇读书笔记: 《产品级微服务的八大原则》,介绍了Uber的SRE工程师 Susan J. Fowler 的免费书: Microservices in Production,文中提出了一个微服务成功与否的唯一标准就是可用性,非常有实践意义。但是这本书偏向于从 SRE (site reliability engineer)的视角看待微...阅读全文

博文 2017-02-08 12:53:44 smallnest

golang程序版本管理

概述 版本管理主要用于对运行程序的版本追踪,从而可以管理线上服务的运行版本,避免各个版本的服务程序混淆.这里通常的做法为在程序中埋入版本标志,同时该版本号会对应到git上的tag或release版本.从而对线上服务更改有一个更全面的信息说明.这里将介绍基于GNU风格一种版本命名方式. 1 版本号命名格式 主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 示例 : 1.2.1, 2.0, 5.0.0 build-13124 Major 具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现...阅读全文

golang中方法的receiver为指针和不为指针的区别

前言 最近看网站有同学提问golang中方法的receiver为指针和不为指针有什么区别,在这里我以简单易懂的方法进行说明,帮助刚刚学习golang的同学. 方法是什么 其实只要明白这个原理,基本就能理解上面提到的问题. 方法其实就是一种特殊的函数,receiver就是隐式传入的第一实参. 举个例子 type test struct{ name string } func (t test) TestValue() { } func (t *test) TestPointer() { } func main(){ t := test{} m := test.TestValue m(t) m1 := (*test).TestPointer m1(&t) } 是不是很简单就明白了呢?现在我们来加入...阅读全文

博文 2017-06-22 15:06:08 pinecone

hyperledger fabric (三)

区块链中的共识机制: 常用的共识算法有: POW 工作量证明 POS 股权证明机制 DPOS 授权股权证明 PBFT 拜占庭共识算法 fabric的技术特性 fabric的多账本特性 通道(channel):通道是两个或多个特定网络成员之间的通信的私有“子网”,用于进行需要数据保密的交易 一个通道包含若干成员,这些成员之间共享同一个账本。通道内所有成员共享账本数据并且共同维护账本。 一个通道可以包含多个会员,一个会员也可以在权限允许的情况下加入多个通道。 同时不同的通道中账本数据的格式也是不一样的,Fabric中账本的存储方式被设计成插件的形式,账本的数据可以选多种存储格式。 不同的会员可以根据自己的实际情况选择不同的数据存储方式。 fabric的账本特点: 使用基于Key的查询、范围查询、...阅读全文

博文 2019-01-09 22:34:40 stevenlife

Golang学习笔记//序

偶然了解到了Golang,一直被C++、JAVA、Python在不同的方面折磨,现在我爱上了Golang------不评判语言孰胜孰劣,仅仅是我个人爱上了Golang。 资料实在是太少了,处于无奈只能让连勉强CET4过的我去啃《The Way to Go》。我想,自己受过的苦,后面的人可以少受一些------至少baidu能搜出一些资料,哪怕很浅显。 这一系列的学习笔记,会断断续续。不要期望太高,聊胜于无吧。 书的目录...阅读全文

博文 2015-06-17 20:02:16 yanzhuliang

每日一得--go语言学习笔记

一,go语言的优劣 优点: 1,脚本话的语言,容易上手 2,静态类型+编译型,程序的运行速度有保障(相比较动态类型+解析型的语言高出很多) 3,原生的支持并发编程(降低成本+维护成本,程序可以更好的执行) 劣势: 1,语法没有python和ruby那么多 2,目前go的程序运行速度不及c(已经在一定程度上比java和c++快) 3,第三方库没有主流的开发语言...阅读全文

Go语言实战笔记(十七)| Go 读写锁

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续笔记。觉得有帮助的话,顺手分享到朋友圈吧,感谢支持。 前面的有篇文章在讲资源竞争的时候,讲互斥锁,互斥锁的根本就是当一个goroutine访问的时候,其他goroutine都不能访问,这样肯定保证了资源的同步,避免了竞争,不过也降低了性能。 仔细剖析我们的场景,当我们读取一个数据的时候,如果这个数据永远不会被修改,那么其实是不存在资源竞争的问题的,因为数据是不变的,不管怎么读取,多少goroutine同时读取,都是可以的。 所以其实读取并不是问题,问题主要是修改,修改的数据要同步,这样其他goroutine才可以感知到。所以真正的互斥应该是读取和修...阅读全文

博文 2017-08-26 12:34:53 飞雪无情

2020 区块链 golang 版本(6)

封面 输入脚本和输出脚本 输入脚本(BitCoin Script) 所谓校验,就是当前输入脚本和比特币来源的输出脚本拼接后是否能够给顺利执行。如果能够顺利执行才能够说明交易有效。 输出脚本 实际中每一个区块包含许多笔交易,这些交易就组织成 Merkle Tree, 区块头和区块体 每一区块分为区块头和区块体两个部分。 区块头 区块头中包含比特币宏观信息,例如使用比特币哪一个版本的协议 Version PrevHash MerkleRoot target nonce Version 表示版本号,PrevHash 保存指向前一个区块的 hash 值,MerkleRoot 是表示交易的MerkleTree 的根节点。其实 target 和 nonce 是挖矿相关的,target 表示挖矿难度值而 ...阅读全文

博文 2020-04-28 03:32:56 zidea

我的Go语言学习之旅二:入门初体验 Hello World

好吧,所有的程序员们都已经习惯了,学习任何一门语言,我们都会以Hello World实例开始我们的学习,我也不例外。先来一个简单的例子 打开编辑器 (可以用记事本,我已经习惯 Notepad++了)输入以下内容 package main import "fmt" func main(){ fmt.Print("Hello World"); } 将其保存为 hello.go 接下来,我们就需要对其进行编译和执行。 编译方法: go build hello.go 编译后,我们会得到一个 hello.exe 然后,我们直接运行 hello 命令行就会输出 Hello World 了 详细解释: package 这一行是必须的,所有的 Go文件都是以这个开头的,而对于独立运行...阅读全文

博文 2016-02-02 11:00:03 w_yunlong

golang学习笔记11 golang要用jetbrain的golang这个IDE工具开发才好

golang学习笔记11 golang要用jetbrain的golang这个IDE工具开发才好 jetbrain家的全套ide都很好用,一定要dark背景风格才装B 从File-->setting 里面进去也可以设置风格和字体大小 注册的可以找个代理的 license 服务器 或者自己搭建一个 https://www.jetbrains.com/go/download window下也可以选择Visual Studio Code: Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com...阅读全文

博文 2018-06-07 15:30:01 zdz8207

如何选型企业级DLT平台?【分布账本技术】

企业分布账本技术(Distributed Ledger Technology)需要解决5个方面的挑战:数据隐私性、技术正当性、可伸缩性、最终一致性和互操作性。本文将对企业以太坊(Quorum)、Hyperledger Fabric和Corda就这些环节进行比较。 在这里插入图片描述 如果希望快速掌握区块链应用的开发,推荐汇智网的区块链应用开发系列教程, 内容涵盖比特币、以太坊、eos、超级账本fabric和tendermint等多种区块链,以及 java、go、c#、nodejs、python、php、dart等多种开发语言。 1、数据隐私性 应该说绝大多数机构都不会愿意与市场中的对手分享其竞争优势。如果竞争对手可以访问区块链上的企业私有数据,那么相信绝大多数企业都不会选择这种区块链技术。因...阅读全文

博文 2019-08-18 05:32:43 ezpod

[笔记] Golang JSON

1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 ) 7 8 /* 9 10 GO类型和JSON类型的对应关系 11 • bool 代表 JSON booleans, 12 • float64 代表 JSON numbers, 13 • string 代表 JSON strings, 14 • nil 代表 JSON null. 15 16 三方开源库: 17 https://github.com/bitly/go-simplejson 18 */ 19 20 type Server struct { 21 ServerName string 22 ServerIP string 23 } 24 25 type Serversli...阅读全文

博文 2016-05-05 02:00:06 loveyx

Go语言学习笔记

基础 关键字 类型 常量 零值 函数 基础 关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 类型 bool byte complex64 complex128 error float32 float64 int int8 int16 int32 int64 rune string uint uint8 uint16 uint32 uint64 uintptr 常量 true false iota 零值 nil 函数 append...阅读全文

博文 2015-10-30 15:00:00 zishinan

超级账本08--区块链应用开发

简介 数字货币曾是区块链技术的唯一应用场景 对智能合约的支持突破了场景限制, 丰富了区块链应用的适用范围, 可以支持多行业、大规模的商业应用 区块链应用 区块链应用: 一般由若干部署在区块链网络中的智能合约, 以及调用这些智能合约的应用程序组成 用户专注于与业务本身相关的应用程序 智能合约则封装了与区块链账本直接交互的相关过程, 被应用程序调用 智能合约开发 智能合约本质上是为了对上层业务逻辑进行支持且直接与账本结构打交道, 处于核心位置. 所以设计得当可以简化上层应用开发的过程 应用程序开发 应用程序通过调用智能合约提供的方法接口实现业务逻辑, 可以使用JavaScript、Python、Go、Java等主流语言进行开发 链码的原理 链码延伸自智能合约的概念, 支持使用主流高级编程语言实现...阅读全文

博文 2018-07-23 14:34:51 陆地潜水鱼

Golang笔记:循环里的闭包

先来一段之前的错误代码 package main import ( "fmt" "sync" ) func main(){ var wg sync.WaitGroup var names = [2]string{"1", "2"} for _, name := range names { wg.Add(1) go func() { fmt.Println(name) wg.Done() }() } wg.Wait() } 这样的打印,打印了两次,但是结果都是 2 2 想要起到循环打印的效果,需要以入参的形式传入 package main import ( "fmt" "sync" ) func main(){ var wg sync.WaitGroup var names = [2]stri...阅读全文

博文 2017-05-27 09:52:35 喝姜茶的酒鬼

golang 笔记01

记录:感觉很容易写错的坑,代码如下package main import ( "fmt" ) type Iface interface { Show() } type St struct{} func (st *St) Show() { } func test1() Iface { var st *St fmt.Printf("st: %q\n", st) return st } func test2() *St { var st *St fmt.Printf("st: %q\n", st) return st } func main() { if v := test1(); v == nil { fmt.Printf("test1(), nil: %q\n", v) } else { fm...阅读全文

博文 2019-11-16 17:34:03 lobo

[笔记] Golang File

1 package main 2 3 import ( 4 "fmt" 5 "os" 6 ) 7 8 func main() { 9 demo1() 10 demo2() 11 demo3() 12 demo4() 13 } 14 15 func demo1() { 16 os.Mkdir("astaxie", 0777) 17 os.MkdirAll("astaxie/test1/test2", 0777) 18 err := os.Remove("astaxie") 19 if err != nil { 20 fmt.Println(err) 21 } 22 os.RemoveAll("astaxie") 23 } 24 25 func demo2() { 26 userFile := ...阅读全文

博文 2016-05-05 02:00:06 loveyx

你的努力必须要有价值

壹听过太多要努力的话,我也一直告诉自己要努力,也以自己的方式努力着。可是回头想想,自己以为的努力是否是真的努力,自己的努力是否收到了想要的结果?你可能常常披星戴月,譬如见过凌晨两点的月亮,自己的努力都把自己给感动了。可是,在这么努力后,你到底收获了什么?你的所得和自己的付出成比例吗?如果相比于你的付出,所得太少,那么真的是自己出了问题:无价值的努力不是努力,那是自我感动。自己每天都很忙,忙的都没有心思注意一下路边刚刚开的花,忙的都没有时间好好收拾一下自己。心里想着,只要我一直这么努力下去,肯定有结果。可是,你并没有看看自己的努力是否产生了价值,只是埋头往前走。作为技术出身,你很喜欢技术,对于新技术,有无限的热情,一直在追逐,但是只是知道这个技术,具体怎么实现,怎么应用,怎么解决具体问题,却一...阅读全文

博文 2019-02-20 23:34:41 Qingyuan清远

Go语言实战笔记(十)| Go 嵌入类型

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。 嵌入类型,或者嵌套类型,这是一种可以把已有的类型声明在新的类型里的一种方式,这种功能对代码复用非常重要。 在其他语言中,有继承可以做同样的事情,但是在Go语言中,没有继承的概念,Go提倡的代码复用的方式是组合,所以这也是嵌入类型的意义所在,组合而不是继承,所以Go才会更灵活。 type Reader interface { Read(p []byte) (n int, err error) } type Writer interface { Write(p []byte) (n int, err error) } type Closer interface { Close() error } ...阅读全文

博文 2017-04-10 02:23:32 飞雪无情flysnow_org

从iOS到Golang - 前言

一直很矫情的认为每个文集都需要一个序...就像起小名儿一样——老人说,有了小名,娃就好养活了。有了序,文集就不会轻易弃坑了... 嗯嗯,那么随便唠唠吧~ 关于知识体系 很久没在简书上写文章了,是因为自己搭建了一套wiki,日常学习笔记、感想、项目计划、总结等文档都沉淀到wiki上了。 初识wiki 是在我团发现wiki这套系统很好用的,但是由于厂里人太多(劳动密集型嘛...),加上广大程序员哥哥们出于各种需求写了大量爬虫在wiki中游弋,使得我厂wiki系统不堪重负,经常崩溃,导致大家对wiki深恶痛绝... wiki和markdown 和小伙伴讨论过,在哪里记笔记和知识比较好。小伙伴们普遍表示更喜欢用markdown而非慢的要死的wiki。 其实,markdown和wiki是两个东东。ma...阅读全文

日常笔记-开篇

日常笔记-开篇 学习markdown 语法 标题: # 一级标题 ## 二级标题 ### 三级标题 序列: 注意:中间会有个空格!中间会有个空格!中间会有个空格!常用 语法 的肯定是: - 列表文字 1. 列表文字 2. 列表文字 图片语法 的肯定是: ![图片名](图片地址) 语法 的肯定是: [超链接名](超链接地址) 本文由zshipu.com学习笔记或整理或转载,如有侵权请联系,必改之...阅读全文

博文 2019-11-14 16:33:00 知识铺

Kubernetes笔记(4)—— application VS service

A service is a process that: 1. is designed to do a small number of things (often just one). 2. has no user interface and is invoked solely via some kind of API. An application, on the other hand, is pretty much the opposite of that. It has a user interface (even if it’s just a command line) and often performs lots of different tasks. It can also e...阅读全文

博文 2017-06-24 19:21:10 肖楠

Go-再论struct

简介 在Go-Structure对struct做了简单的介绍,本文参考如下书目继续丰富本专题。 《Web Development with Go》 Chapter 3 《The Go Programming Language》4.4 Page99 pointer and nonpointer method receiver 在Go-Structure一文给出的示例代码中,使用的都是pointer receiver。事实上,也可以使用nonpointer receiver。事实上,也可以使用nonpointer 示例: package main import ( "fmt" ) type Point struct { x, y int } func (p Point) GetX() int {...阅读全文

博文 2016-09-21 19:00:03 u013344915

推荐一个go语言笔记

推荐一个Go语言笔记 github.com/qyuhen/book $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering...阅读全文

博文 2016-03-18 13:00:02 qq_15437667

简明笔记:指针传递和值传递

# 简明笔记:指针传递和值传递 值传递,拷贝一份值接收者的副本。指针传递,则直接指向值接收者。 一个超级简单的列子: ```go package main import ( "fmt" ) type myself struct { name string } func (u myself) self_change_name(name string){ // 注意: 这里是拷贝一份 myself u.name = name fmt.Println(u.name) } func (u *myself) police_station_change_name(name string){ //指向myself u.name = name } func main() { ms := myself{"Po...阅读全文

博文 2019-05-04 14:20:17 faceNL

Go-再论struct

简介 在Go-Structure对struct做了简单的介绍,本文参考如下书目继续丰富本专题。 《Web Development with Go》 Chapter 3 《The Go Programming Language》4.4 Page99 pointer and nonpointer method receiver 在Go-Structure一文给出的示例代码中,使用的都是pointer receiver。事实上,也可以使用nonpointer receiver。事实上,也可以使用nonpointer 示例: package main import ( "fmt" ) type Point struct { x, y int } func (p Point) GetX() int {...阅读全文

博文 2016-09-07 06:00:07 u013344915

go语言学习笔记11

package main import "fmt" func main() { f() fmt.Println("Returned normally from f.") } func f() { defer func() { if r := recover(); r != nil { fmt.Println("Recovered in f", r) } }() fmt.Println("Calling g.") g(0) fmt.Println("Returned normally from g.") } func g(i int) { if i > 3 { fmt.Println("Panicking!") panic(fmt.Sprintf("%v", i)) } defer fmt.P...阅读全文

博文 2015-06-17 23:02:29 lwj1396