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

Go指南中的练习:map

练习:map 实现 WordCount。它应当返回一个含有 s 中每个 “词” 个数的 map。函数wc.Test 针对这个函数执行一个测试用例,并输出成功还是失败.你会发现strings.Fields 很有帮助。 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 在题目中提示可以使用strings.Fields,那我们现在查一查这个函数 func Fields func Fields(s string)...阅读全文

博文 2016-04-05 05:00:00 u013564276

Alpine容器中运行go的二进制文件

文出处:https://cloud.tencent.com/developer/article/1419659 环境docker version:1.10.3alpine linux version:3.8问题将golang编译的二进制文件 opena 拷贝到容器的 /usr1 下面,执行显示:/usr1/opena help sh: /usr1/opena: not found查看下依赖库:ldd /usr1/opena /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000) libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000) libc.so.6 => /lib64/ld-linu...阅读全文

博文 2019-09-04 15:33:28 kuSorZ

Go语言数据结构

翻译自 Russ Cox 当我向新手程序员解释Go语言的时候,我发现通过对于操作代价的正确认识,常常能帮助我们理解Go语言内存中的值是个什么样子。本文就Go语言的基本类型,structs,arrays和slices加以讨论。 基本类型 先来几个简单的例子: 变量i属于类型int,在内存中用一个32位字长(word)表示。(所有图片展示的都是32位内存布局方式;在当前实现中,只有指针类型在64位机上变大了–int还是32位–但仍可以选择使用64位来代替32位。) 变量j由于做了精确的转换,属于int32类型。尽管i和j有着相同的内存布局,但是它们属于不同的类型:赋值操作 `i = j是一种类型错误,必须写成更精确的转换方式:``i = int(j)``。


变量f...阅读全文

博文 2015-06-08 06:00:01 bfleeee

每天5分钟学Golang从入门到放弃 —— 七嘴八舌

学习一门编程语言途径无非就是两种:读书、看视频。很多人在刚准备入门的时候在这两种方式之间徘徊许久,这里简单说下两种方式各自的优缺点: (1)看书 优点: 方便做笔记(题外话:想怎么写就怎么写,想怎么画就怎么画,等等你是来学习golang还是学习画画的) 花费时间相对比较短(题外话:很多人说自己看书很慢,那是因为没掌握方法,看书不是每页都从第一个字看到最后一个字才算看完,可以着重看下目录、大小标题、序言、每章总结等等,具体方式后面有空再整理分享。) 花费时间相对比较短 缺点: 检索不方便(比如说想起某个知识点好像在哪里看过,但又记不清) 接受效率相对较低(看视频是眼看,耳听;看书只用眼看接受效率会略低于看视频) 相对比较枯燥(题外话:看书?不就是用来保证晚上睡眠质量的?) (2) 看视频 优点...阅读全文

Python/Ruby/Go/Node 之四国大战

Python Flask vs Ruby Sinatra vs Go Martini vs Node Express 本文授权转载自 zybuluo 博客。 题外话一: 最近一段时间,Cloud Insight 接连发布了三种语言(Python, Node, Ruby)的SDK,Cloud Insight Agent 也迎来了重大突破,发布了 Windows 监控的第一个版本,总算可以松口气写点东西了~ 题外话二: 偶然的机会看到一篇 blog,文中详细的介绍了 Flask(Python), Sinatra(Ruby) 以及 Matini(Golang) 这三类微型框架的用法,并提供了各个框架在 Docker 下的部署方式。然而,美中不足的是没有提供各个框架的性能对比情况,经过一番搜罗,发现...阅读全文

博文 2016-03-18 08:00:01 oneapm

[go]method的指针声明及非指针声明

刚入手golang,大概弄清楚了method在go里的概念。以下大部分为搬运过程重写代码。 method可以为一个type添加(声明)一个方法,例如: type Cat struct { } func (c Cat) Hwo() { fmt.Println("Miah!") } 即对Cat类型(结构体)添加Hwo方法,使其在叫唤的时候可以发出声音。 这种添加方法的代码表现比java好很多(extend),也比python好(需重新声明一个Class)。 按官方的spec可以对应到如上的例子的两种声明: func (c Cat) Hwo() func (c *Cat) Hwo() 两种有什么区别呢? package main import ( "fmt" ) type Cat struct {...阅读全文

博文 2017-02-09 14:13:38 cvvnx1

请教一个关于正则匹配的问题

以下是在线正则测试中的输入输出: ![TIM截图20180205145850.png](https://static.studygolang.com/180205/ec28e1f98897ddef843cb5421a713214.png) 可是用go去执行就出现错误了,输出有问题,单单输出`$1`或者`第$1`是没问题的,但是`$1章`和`第$1章`是有问题的,头疼了挺久,求解析。 代码: s := "第1节,第2节,第3节,第4节,第5节,第6节,第7节,第8节,第9节" r, _ := regexp.Compile(`第([0-9])节`) s = r.ReplaceAllString(s, `第$1章`) fmt.Println(s...阅读全文

K8S 生态周报| runc v1.0.0-rc9 发布

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。 runc v1.0.0-rc9 发布 不知不觉,runc v1.0.0-rc9 于近日发布了。早先关注过我文章的朋友们应该看到过我从去年开始每次在 runc 新版本发布时都有专门写一篇文章进行介绍。这次版本的定位主要是修复 CVE-2019-16884 所以我也就不再单独写文章介绍了(另一个原因是现在在假期,还是多抽空陪陪家人) 先对 CVE-2019-16884 做个简单的介绍。这是一个中等级别的漏洞,其主要影响是 runc 源码中的 libcontainer/rootfs_linux.go 在文件挂载至 /proc 时,少做了一些检查,可绕过 AppArmor 的限制...阅读全文

博文 2019-10-07 13:32:44 aside section ._1OhGeD

我的Go服务Docker部署模版

关于Docker 网上关于Docker的介绍有很多,我就不复制粘贴了,大家可以自行查找。为什么用Docker?,一般来说是为了保证开发和线上环境一致,并能保证机器的干净,不会被安装一堆依赖。说下题外话,之前开发EOS的时候,就被装了一堆依赖和动态库,差点让强迫症的我想重装电脑...后来写了个docker镜像才算是整理干净,可惜被改过的文件是没办法还原了。 Build一个最小的Go应用镜像 官方建议是用alpine镜像,在实际使用过程中,发现还是会缺一些东西,下面是补充之后的新镜像 FROM alpine:latest # 官方推荐镜像大小才5M RUN apk update \ && apk upgrade \ # 更新源和应用 && apk --no-cache add tzdata \ ...阅读全文

博文 2018-12-04 18:34:42 Harman

golang slice 必知必会

1.数组是什么,slice是什么 在 golang 中,我们可以像C语言一样创建一个数组,也可以创建一个动态数组 (slice)数组: arr := [2]int{1, 2} arr[0]=3 arr[1]=4 fmt.Println(arr) // output:[3,4] 此时我们创建了一个包含2个元素的数组,[]中只能是常量,因为数组在创建的时候必须是确定的。slice:slice 这个对象在 golang 中是一个比较特殊的存在,从不同的角度观察,有时像引用类型,有时又不像,具体是什么情况呢?下面会说到。 slice1 := make([]int, 2, 4) slice1 = append(slice1, 6) fmt.Println(slice1) // output:[2,4,...阅读全文

博文 2020-03-23 10:32:43 thomaston