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

Go语言实践技巧(7)——value receiver和pointer receiver

Value receiver: func (u user) fun1() { .... } Pointer receiver: func (u *user) fun2() { .... } Value receiver操作的是值的拷贝,而pointer receiver操作的是实际的值。 用pointer去调用value receiver的方法,实际的操作是: (*p).fun1() 而用value去调用pointer receiver的方法,实际的操作是: (&v).fun2() 参考资料: Go in Action...阅读全文

博文 2017-06-24 19:19:59 肖楠

Golang参考-20170603更新

一.环境安装MacOS:https://storage.googleapis.com/golang/go1.8.3.darwin-amd64.tar.gzhttps://storage.googleapis.com/golang/go1.8.3.darwin-amd64.pkgtar -xvf go1.8.3.darwin-amd64.tar.gz-C /usr/local/goexport PATH=$PATH:/usr/local/go/bin编辑:leeco:go leeco$ cat aa.gopackage mainimport"fmt"func main() {fmt.Println("Thisis a line!!")}运行:leeco:go leeco$ go run aa....阅读全文

博文 2017-06-03 16:08:03 NooSense

golang[40]-区块链-wif倒推出私钥

wif倒推出私钥参考资料https://en.bitcoin.it/wiki/Private_keyhttps://en.bitcoin.it/wiki/Wallet_import_formathttp://gobittest.appspot.com/PrivateKey本文链接: https://dreamerjonson.com/2018/12/09/golang-40-blockchain-verifyprivatekeywif/版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处...阅读全文

博文 2019-02-21 15:35:55 jonson_jackson

golang笔记之指针使用

Choosing a value or pointer receiver There are two reasons to use a pointer receiver. The first is so that the method can modify the value that its receiver points to. The second is to avoid copying the value on each method call. This can be more efficient if the receiver is a large struct, for example. package main import ( "fmt" "math" ) type Ver...阅读全文

博文 2019-05-07 13:35:10 月下独酌100

2019年京东PHP工程师面试题和答案解析

一、单选题(共28题,每题5分)1.Apache与Nginx大访问下性能描述正确的是?A、Apache所采用的epoll网络I/O模型非常高效B、Nginx使用了最新的kqueue和select网络I/O模型C、Apache进程执行PHP、输出HTML都得干,占用的资源多D、nginx不可以做反向代理服务器参考答案:C答案解析:1、Apache所采用的select网络I/O模型非常低效 2、Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型 3、Apache进程干的事情多:执行PHP、输出HTML都得干,占用的资源就多(CPU、内存)2.下列哪种PHP运行模式在PHP5.3之后不再支持?A、CGIB、FASTCIGC、ISIPAD、CLI...阅读全文

博文 2019-09-30 20:32:45 aside section ._1OhGeD

Swarmkit笔记(12)——swarmctl创建service时指定资源限制

swarmctl创建service时可以指定CPU和memory资源限制: # swarmctl service create --help Create a service Usage: swarmctl service create [flags] Flags: ...... --cpu-limit string CPU cores limit (e.g. 0.5) --cpu-reservation string number of CPU cores reserved (e.g. 0.5) ...... --memory-limit string memory limit (e.g. 512m) --memory-reservation string amount of reserv...阅读全文

博文 2017-06-25 14:08:59 肖楠

golang[42]-区块链-go实战比特币默克尔树

go实战比特币默克尔树参考资料eth wiki:patricia-tree[csdn 默克尔树解释]https://blog.csdn.net/wo541075754/article/details/54632929https://github.com/ZtesoftCS/go-ethereum-code-analysis/blob/master/trie源码分析.md本文链接: https://dreamerjonson.com/2018/12/11/golang-42-blockchain-merkletree2/版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处...阅读全文

博文 2019-02-21 15:36:09 jonson_jackson

mac下编译go-ethereum

macos: 10.14.4 下载go-ethereum源码,按照文档执行命令编译: $ make all 报错:fatal error: 'stdlib.h' file not found /usr/include 查看xcode是否安装: $ xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates $ xcode-select -p /Applications/Xcode.app/Contents/Developer $ brew config Clang: 10.0 build 1001Gi...阅读全文

博文 2019-03-29 18:34:38 lansheng228

Golang面试题 练习题

整理自golang中文网https://studygolang.com/ 不管面试里用不用得到,万丈高楼平地起,先得从基础做起 package main import ( "fmt" ) func main() { defer_call() } func defer_call() { defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func() { fmt.Println("打印后") }() panic("触发异常") } 答案: 打印后 打印中 打印前 触发异常 参考解析:defer 的执行顺序是后进先出。当出现 panic 语句的时候,会先按照 defer 的后进先出的顺...阅读全文

博文 2020-01-07 19:32:43 p_gerer

Go-interface

今天学习了一下Go 接口的底层实现。主要是一篇学习笔记的总结,把自己的思考整理一下。如果想更加深入的了解接口的实现,可以看下参考文献中的文章。 1 概述 接口主要是为了实现多态。Go语言并没有像其他语言中,显式指定继承接口。而是只要实现了接口的方法,就算继承了接口。 1.1 分类与数据结构 在Go语言中,按照是否有函数分为iface跟 eface两种。iface 是包含函数的接口。 我们看下这两种接口的定义: eface: type eface struct { // 16 bytes _type *_type // Go 语言中类型的运行时表示 data unsafe.Pointer // 指向原始数据的指针 } iface: type iface struct { // 16 bytes...阅读全文

博文 2019-09-24 20:32:45 aside section ._1OhGeD

kubelet启动失败——inotify

参考issue This error (ENOSPC) comes from the inotify_add_watch syscall, and actually has multiple meanings (the message comes from golang). Most likely the problem is from exceeding the maximum number of watches, not filling the disk. This can be increased with the fs.inotify.max_user_watches sysctl, but I would investigate what else is creating so m...阅读全文

博文 2018-11-06 12:34:40 陈先生_9e91

Golang 参考资料

知识图谱 https://www.processon.com/view/link/5a9ba4c8e4b0a9d22eb3bdf0 基础 https://gobyexample.com/ 开发环境搭建 基础知识 类型与变量 常量与运算符 控制语句 数组 map 函数 function 结构 struct 方法 接口 反射 并发 入门学习笔记1 https://www.jianshu.com/p/c48f484c9831 入门学习笔记2 https://www.jianshu.com/p/33c03a38d0f8 Golang 新手可能会踩的 50 个坑 https://www.cnblogs.com/276815076/p/8583589.html Mysql Golang Mysql笔记 ...阅读全文

博文 2019-01-27 23:34:42 baboon

golang 快速排序

golang 快速排序 package main import ( "fmt" "strconv" ) func quickSort(arr []int, low, high int) { if low < high { var pivot = partition(arr, low, high) quickSort(arr, low, pivot) quickSort(arr, pivot + 1, high) } } func partition(arr []int,low,high int) int { var pivot = arr[low] var i = low var j= high // 6 5 4 3 2 1 // 6 1 2 3 4 7 for i< j{ for arr[...阅读全文

博文 2020-03-03 22:33:49 moakia

golang[40]-区块链-wif倒推出私钥

wif倒推出私钥123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150...阅读全文

博文 2018-12-14 00:35:43 jonson_jackson

Go开发面试题分享:(选择题10道)(3)

Go语言面试题分享:(选择题10道)1、关于init函数,下面说法正确的是( )A. 一个包中,可以包含多个init函数B. 程序编译时,先执行导入包的init函数,再执行本包内的init函数C. main包中,不能有init函数D. init函数可以被其他函数调用参考答案:AB2、golang中没有隐藏的this指针,这句话的含义是( )A. 方法施加的对象显式传递,没有被隐藏起来B. golang沿袭了传统面向对象编程中的诸多概念,比如继承、虚函数和构造函数C. golang的面向对象表达更直观,对于面向过程只是换了一种语法形式来表达D. 方法施加的对象不需要非得是指针,也不用非得叫this参考答案:ACD3、golang中的引用类型包括( )A. 数组切片 B. map C. chan...阅读全文

博文 2019-11-27 14:19:57 zhouzhou2018

golang[43]-blockchain-serialize

真实比特币序列化1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374package mainimport ( "bytes" "encoding/binary" "log" "fmt" "encoding/hex" "crypto/sha256")//将类型转化为了字节数组func IntToHex(num int32) []byte{ buff := new(bytes.Buffer)//binary.LittleEndian 小端模式 err:= binary.Wr...阅读全文

博文 2018-12-13 23:35:58 jonson_jackson

【翻译】【Go】了解Defer、Panic、Recover

Go有流程控制的机制:if、for、switch、goto。这里我们讨论并不常见的:defer、panic、recover。 一个defer语句会把一个函数压入一个栈中,当外层函数返回时,会按照后进先出的顺序执行压入的函数。 defer有三个简单的规则: 当defer语句执行的时候,函数的参数也被指定。 在这个例子中,当Println被延迟执行的时候变量i的值已经被赋值,所以会打印0而不是1: func a() { i := 0 defer fmt.Println(i) i++ return } 复制代码 被defer的函数在外层函数返回后遵循后进先出的规则依次被调用。 这个例子将返回3210: func b() { for i := 0; i < 4; i++ { defer fmt.Pr...阅读全文

博文 2019-07-30 19:04:21 yankewei

golang[42]-区块链-go实战比特币默克尔树

go实战比特币默克尔树123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114package mainimport ( "crypto/sha256" "encoding/hex" "fmt")func min(a int,b int) int{ if(a>b){ return b } ...阅读全文

博文 2018-12-14 00:35:13 jonson_jackson

go encoding/json 介绍

由于我一直是一名前端工程师,所以我会在前端的角度将js中的json操作和go中的操作做一个类比方便大家的理解。 将字符串转换为对象 js : JSON.parse(`{"name":"cfl"}`)go : json.Unmarshal jsonStr := `{ "name":"cfl", "age":10, "friend":[{"name":"sx", "age":10 }] }` type User struct { Name string Age int64 Friend []User } var cfl User json.Unmarshal([]byte(jsonStr), &cfl) fmt.Printf("%+v", cfl) 将对象转换为json js: JSON.str...阅读全文

博文 2019-11-17 20:32:42 曹飞龙

跟我一起学Golang:Map

概念Golang一种内置结构,形式,类似Java中的HashMap或者Python中的dict(字典)。其中key是可比较的,不能为slice,因为slice没有实现比较操作。另外需要注意一点就是map是引用类型,作为参数存在副作用。操作以及例子如何创建使用make,语法格式:make(map[key-type]val-type)可以在声明的时候初始化:map[key-type]val-type{key:value, ...}如何修改赋值:name[key]=val删除: delete(name, key)如何访问直接使用下标:name[key]带有校验型: val, ok := name[key], ok是false表示key对应的值不存在例子:// Maps are...阅读全文

golang[43]-blockchain-serialize

真实比特币序列化参考资料:https://www.blockchain.com/btc/block/00000000000000000a1f57cd656e5522b7bac263aa33fc98c583ad68de309603本文链接: https://dreamerjonson.com/2018/12/12/golang-43-blockchain-serialize/版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处...阅读全文

博文 2019-02-21 15:36:10 jonson_jackson

重新认识Go的Slice

开篇语 大多数时候我们都忘记了或者压根不知道slice是怎么工作的。大多数时候我们只是把slice当做动态数组来用。通过重新认识slice,我们可以一定程度上避免掉入slice的陷阱,并且更好的使用它。 参考资料有: Effective Go Go Slices: usage and internal 本文重点是代码例子,边动手边学习 回归本元: 什么是数组? Go中的数组(array)是一个固定大小的、单一类型的一个序列。 创建数组需要两个参数:size和type。 Array的size是类型的一部分 x := [5]int{1, 2, 3} y := [5]int{3, 2, 1} z := [5]int{1, 2, 3} fmt.Printf("x == y: %v\\n", x ==...阅读全文

博文 2020-03-23 19:32:46 麻瓜镇