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

Go语言笔记:struct结构遍历

package main import ( "fmt" "reflect" ) type User struct { Id int Name string //addr string } func main(){ u := User{Id:1001, Name:"xxx"/*, addr:"xxx"*/} t := reflect.TypeOf(u) v := reflect.ValueOf(u) for k := 0; k < t.NumFiled(); k++ { fmt.Printf("%s -- %v \n", t.Filed(k).Name, v.Field(k).Interface()) } }注:当结构体中含有非导出字段时,v.Field(k).Interface()会pani...阅读全文

博文 2016-01-28 12:00:01 qdx411324962

Go语言导出excel文件(.xlsx)

网上有许多关于导出excel的资料,其中最多的就是创建一个新的.xlsx文件(.xls库不提供写入的功能)。但是这种情况下导出的excel往往比较难看,另一种情况就是打开一个模板,往里面填充东西,往往首行固定。 第一种方法(直接创建) package main import ( "github.com/tealeg/xlsx" ) func main() { file := xlsx.NewFile() sheet := file.AddSheet("Sheet1") row := sheet.AddRow() row.SetHeightCM(1) //设置每行的高度 cell := row.AddCell() cell.Value = "haha" cell = row.AddCell()...阅读全文

博文 2015-11-06 17:00:11 dengpei187

golang导出excel(excel格式)

之前写过一篇导出cvs格式的,如果只是简单导出完全能满足需要。按时如果想要有复杂需求,如样式定制、多个sheet之类的,就无法完成了。之后发现有人已经实现golang直接excel对excel的操作,这里分享一下。 地址:https://github.com/tealeg/xlsx 具体各类操作可以直接看里边给出的示例或直接查看代码,用法还是很简单的。这里给出个简单的测试示例: package main import ( "fmt" "github.com/tealeg/xlsx" ) func test1() { var file *xlsx.File var sheet *xlsx.Sheet var row *xlsx.Row var cell *xlsx.Cell var err e...阅读全文

博文 2014-11-03 03:00:01 good-temper

Golang使用CSV读取、导出文件

导出csv文件 func WriteCsv() { //创建文件 f, err := os.Create("test.csv") if err != nil { panic(err) } defer f.Close() // 写入UTF-8 BOM f.WriteString("\xEF\xBB\xBF") //创建一个新的写入文件流 w := csv.NewWriter(f) data := [][]string{ {"1", "刘备", "23"}, {"2", "张飞", "23"}, {"3", "关羽", "23"}, {"4", "赵云", "23"}, {"5", "黄忠", "23"}, {"6", "马超", "23"}, } //写入数据 w.WriteAll(data)...阅读全文

博文 2020-03-25 23:32:48 是个懒人

春风习习,不要混淆区块链和“发币”

导语:习近平总书记号召占领区块链技术自主创新制高点。一夜之间,区块链行业迎来春天! 上周五,新华社报道称,中共中央政治局于10月24日下午就区块链技术发展现状和趋势进行了第十八次集体学习。中共中央总书记习近平在主持学习时强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用。我们要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。 消息一出,整个数字货币市场开始暴涨狂欢。以BTC为代表的数字资产,从7300美元一路飙至10000美元,股市里的相关区块链概念股也集体走强。 不过,仔细研究重要讲话以后,我们总结发现:中央明确的区块链技术和应用场景并非币圈理解的“发币、炒币”!那些借着区块链炒作空气币的,打着...阅读全文

博文 2019-10-28 19:02:39 内容链Contentos

golang json处理struct未导出成员

我们用golang的json来marshal一个结构体的时候,结构体的未导出的成员将无法被json访问,也就是不会出现json编码的结果里(也就是小写的成员没法导出) 这个是由于技术的上问题引起的:golang的结构体里的成员的名字如果以小写字母开头,那么其他的包是无法访问的,也就是json无法访问我们的结构体里小写字母开头的成员 这个可以有两种方法解决 1. struct的成员用大写开头,然后加tag 2. 实现json.Marshaler接口 第一种方法比较常见这儿就不详细展开了 第二种方法如下 http://play.golang.org/p/AiTwUOWkiT package main import "fmt" import "encoding/json" func main() ...阅读全文

博文 2014-10-04 19:26:08 varding

golang导出csv

项目中涉及到导出到csv的功能,在网上找了一圈,有个UTF82GBK的方式,这个后来发现有bug,涉及到复杂中文,显示出来的有问题,而且导出来的csv不是utf-8格式,不能用文本编辑器打开.最终确定一个方案,也比较简单,既解决了csv用excel打开,中文乱码问题,也能用编辑器打开,还能默认显示带逗号的字符串.废话不多说,直接上代码. package main import ( "encoding/csv" "log" "os" ) func main() { filename := "/Users/icsoc/Downloads/test.csv" columns := [][]string{{"姓名", "电话", "公司", "职位", "加入时间"}, {"1", "2", "刘犇...阅读全文

博文 2019-03-22 11:34:41 林子老公

gistar: 将GIthub点星仓库列表导出为Markdown的工具

刚入门 GO,写了个将GIthub点星仓库列表导出为Markdown的简单工具,用于玩乐 仓库地址 [https://github.com/fralonra/gistar](https://github.com/fralonra/gistar),可点击 [此处查看示例](https://github.com/fralonra/gistar/tree/master/examples) ##### 特性 * 可按语言分类,或按创建时间、更新时间等排序 * 可选展示仓库的 star、forks、descripton、主要语言等信息 * 使用 `shields.io` 的 badget 展示上述信息,badget 风格可配...阅读全文

go语言导出内容到excel

package main import ( "os" "encoding/csv" ) func main() { f, err := os.Create("haha2.xls") if err != nil { panic(err) } defer f.Close() f.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM w := csv.NewWriter(f) w.Write([]string{"编号","姓名","年龄"}) w.Write([]string{"1","张三","23"}) w.Write([]string{"2","李四","24"}) w.Write([]string{"3","王五","25"}) w.Write([]stri...阅读全文

博文 2015-06-17 23:07:24 abao2123

实现简单的http下载功能

项目 需求是勾选需要导出的商品条目,然后点击导出,就可以弹出浏览器下载文件的窗口,已经实现了基本的功能,就是利用添加http header中的内容来实现,代码如下: ``` res.Header().Set("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") res.Header().Set("Content-Dispostion", "attachment; filename='filename.xlsx'") ``` 请问如何自定义下载文件的名称呢,filename不起作用...阅读全文

开源持续交付黑客松--号角声起

本文首发于:Jenkins 中文社区 作者:Zhao Xiaojie 开源持续交付黑客松--号角声起 给你48小时,可以持续交付多少创意呢? [图片上传失败...(image-f2b8b1-1565879528263)] Jenkins 中文社区计划于2019年10月25日发起一场以 DevOps 为主题的开源黑客松编程比赛,该活动旨在为当下金融、能源、政务、交通等场景面临的 IT 挑战提出解决方案,我们希望本次赛事期间您也能够收获业内同行间最有价值的碰撞成果。 本次活动由 Jenkins 中文社区主办,并由受到 Cloudbees、码云、京东云以及开源社等合作伙伴的大力支持。我们非常欢迎关心和关注开源以及持续交付的企业以及社区加入或者支持我们。有意与我们合作,可以在 Jenkins 公众号...阅读全文

博文 2019-08-16 00:32:45 素人派

Golang 中的“潜规则”

GO语言中要提供给外面访问的方法或是结构体必须是首字母大写 在一个公共的头文件中定义了一个结构体,如下所示: type Header struct { ver int magic_num int len int } 在另一个执行文件中,进行了初始化和赋值: var head comm.Header; head.ver = 1 head.magic_num = 0xffee head.len = 0 编译时报错 ./example_struct2binary.go:21: head.ver undefined (cannot refer to unexported field or method ver) ./example_struct2binary.go:22: head.magic_nu...阅读全文

博文 2016-09-03 22:00:04 nellson

goalng导出excel(excel格式)

之前写过一篇导出cvs格式的,如果只是简单导出完全能满足需要。按时如果想要有复杂需求,如样式定制、多个sheet之类的,就无法完成了。之后发现有人已经实现golang直接excel对excel的操作,这里分享一下。 地址:https://github.com/tealeg/xlsx 具体各类操作可以直接看里边给出的示例或直接查看代码,用法还是很简单的。这里给出个简单的测试示例: package main import ( "fmt" "github.com/tealeg/xlsx" ) func test1() { var file *xlsx.File var sheet *xlsx.Sheet var row *xlsx.Row var cell *xlsx.Cell var err e...阅读全文

博文 2014-11-02 19:00:01 oO脾气不坏Oo

谷歌:谁拥有下一代云平台的DNA?机器学习和云端智能是云的未来

在“NEXT2016”会议上,Google的Eric Schmidt提到Google所占最大的优势之一就是站在云计算下一个十年的前沿。它不是基础设施或者软件,也不像纯数据一样简单。 Crowdsourced 智能,是个进化,可以创建更加智能的从上到下各级用户都可以利用、重新训练、改变、为自己目的输出的系统。这一切将会点燃新一代云平台的未来发展方向。 Crowdsourcing数据的这个概念会令训练变得更好、变得更加智能、范围更加宽广,这也是谷歌在接下来云计算的十年里有竞争力的核心优势,Schmidt说道。“我坚信快速评估模型,谷歌云计算,机器学习,以及crowdsourcing将会是每一个IPO的基础,在下一个5年里成为赢家。”这会是一个跟产生应用程序的过程很相似的评估——将用户眼下真正需要...阅读全文

博文 2017-02-09 08:16:13 Caicloud

Unicode 颜文字(emoji)格式和 Go 代码处理

前几天时间测试同学在我们的前端输入了颜文字,之后软件就出 bug 了。借修 bug 机会我花了点时间学习了一下 Unicode 颜文字(emoji)的一些知识。本文记录我对 emoji 的一些认识,并且简单介绍一下我为此而做的一个 Go 语言颜文字提取库的用法。 Unicode 背景简介 我们大家都知道,为了标准化全世界所有文字的编码,诞生了 unicode。最早 unicode 的设计者们采用的是一个字(2 Bytes)来表示 unicode 值(UCS-2),以为总共 65536 个值就可以表示所有的字符了,也就是我们常见的 unicode 表示法 U+1234 。 然而汉字的博大精深(历史上的各种汉字实在是太多了)让 unicode 认识到了错误。很快,unicode 的编码空间就扩展...阅读全文

博文 2020-03-22 09:32:41 amc

2019年下半年阅读

19年写了5本书。《R语言数据挖掘》,《R语言数据分析案例》,《R语言数据探索与数据可视化》,《python数据挖掘》,《golang入门到实战》所以看了市面上我所写书相关主题的书,基本上都看了,这一部分就不罗列。其他值得一说的书罗列一下。《逻辑哲学论》维特根斯坦维特根斯坦对于语言的理解,我蛮赞同的。他说所有的哲学问题都是语言的误用。这句话不一定对,但是有一定道理。语言只是一个描述世界的工具,并不是世界。有一个词语,叫做文过饰非,就是说语言被我们玩坏了,人们分不清所说的和事实了。维特根斯坦很尖锐地指出了语言和事实的边界。有些事实能够被语言表述,有些不能。所以他说 ,凡是可以说的,都可以说清楚。凡是不可以说的,就保持沉默。语言只是事实的一个映射,就好像一个路标,表明了目的地,而语言本身并不是目...阅读全文

Golang对ios推送

推送证书制作 打开证书助理 导出 推送debug/release 证书为 p12 点开该证书箭头 导出私钥 为 p12 //生成推送证书pem openssl pkcs12 -clcerts -nokeys -out cert.pem -in alpha_push_dev.p12 //生成私钥的pem openssl pkcs12 -nocerts -out key.pem -in key.p12 先输入key.p12的密码 输入生成的key.pem的密码 重复输入密码 //去掉key.pem的密码 openssl rsa -in key.pem -out key.unencrypted.pem -passin pass:123456 cert.pem 和 key.unencrypted.p...阅读全文

博文 2019-03-19 13:34:45 A_b765

Go2将修改导出规则

Go2将修改导出规则, 只有小写字母和”_“开头的不导出. 中文等不区分大小写的标识符默认导出. A solution that's been kicking around for a while: For Go 2 (can't do it before then): Change the definition to “lower case letters and _ are package-local; all else is exported”. Then with non-cased languages, such as Japanese, we can write 日本語 for an exported name and _日本語 for a local name. This ru...阅读全文

流量转化的方法

流量转化的方法 我们在急需一样东西的时候,哪怕它的价格比平时高,只要能解决问题,我们都不会想着要去货比三家。这就好比用户在百度上搜索想要的东西,在急需的情况下,80%的用户会先入为主,看到谁家的推广信息,就它了! 但是,百度首页能容纳的信息也不少,如果说百度竞价能看一个企业的经济实力,那自然排名就最能证明一家企业的产品品质。这时候如果你的网站自然排名出现在首页,恭喜你,成为了80%用户的“救命稻草”。 把网站自然排名做上首页,若不想做竞价,途径只有一个,做SEO。传统的SEO不断给网站产出原创的、有意思的内容,多做长尾词,保持稳定的更新频率等,久而久之,网站排名会慢慢上升。 流量转化潜规则第二条,为用户提供多元化服务 用户在进行搜索的时候,肯定带着不少的疑问。好不容易...阅读全文

用golang写一个简单的游戏

事情是这样子的,前阵子我想重新把算法学习一下,在看到动态规划的时候,莫名想到这些算法题目就跟游戏一样,每个游戏都有规则,要过关,就要在游戏规则下达到特定的目标。所以,我萌生了把算法题做成一个游戏的想法,不管什么算法都行,规则我可以自己定义。 那么,做个游戏,它总要有界面,自然我不会写gui,暂时也没有想用golang的gui库的想法。所以我的第一步是用终端先实现一个,在界面上能够显示出东西。这个要求对于golang来说一点都不高。 再来,是游戏规则的设定,这个游戏,我会分几个版本去完成它,多以第一个版本,我会设定得足够简单,规则如下:界面上会由n×m个点组成,通过键盘上的方向键控制点的移动,从起点到达终点即可完成看任务。如图: 我们分析一下,完成这样一件事情,我们需要做的工作有哪些? 首先要...阅读全文

博文 2020-05-13 00:34:04 wx5e1abbbb0a5e5

Golang 中的“潜规则”

GO语言中要提供给外面访问的方法或是结构体必须是首字母大写 在一个公共的头文件中定义了一个结构体,如下所示: type Header struct { ver int magic_num int len int } 在另一个执行文件中,进行了初始化和赋值: var head comm.Header; head.ver = 1 head.magic_num = 0xffee head.len = 0 编译时报错 ./example_struct2binary.go:21: head.ver undefined (cannot refer to unexported field or method ver) ./example_struct2binary.go:22: head.magic_nu...阅读全文

博文 2016-08-31 14:00:04 nellson

设计模式-03-生成器模式

生成器模式概述生成器模式将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式的主要功能是构建复杂的产品,而且是细化地、分步骤地构建产品,也就是说生成器模式重在一步一步解决构建复杂对象的问题。 实现使用文件的导出来实现生成器模式。文件的导出有普通文本和xml等文件格式。生成器作为一个接口,不同的具体生成器具体实现接口的方法。还有一个指导者负责整体构建的算法部分,是相对不变的部分。 总结与分析生成器模式构建对象的过程是统一的、固定不变的,变化的部分放到生成器部分了,只要配置不同的生成器,那么同样的构建过程,就能构建出不同的产品来。生成器模式的重心在于分离构建方法和具体的构造实现,从而使得构建算法可以重用。具体的构造实现可以很方便地扩展和切换,从而可以灵活地组合来构...阅读全文

博文 2019-04-10 20:34:40 疯狂的卡卡

从 PostgreSQL 中以不同形式导出数据 pgclimb

pgclimb 是从 PostgreSQL 中以不同形式将数据导出的工具。 特点: * 导出数据至    [JSON](https://github.com/lukasmartinelli/pgclimb#json-document) ,  [JSON Lines](https://github.com/lukasmartinelli/pgclimb#json-lines) ,  [CSV](https://github.com/lukasmartinelli/pgclimb#csv-and-tsv) ,  [XLSX](https://github.com/lukasmartinelli/pgclimb#xlsx) ,  [XML](https://github.com/lukas...阅读全文

golang如何修改struct的未导出的域

golang如何修改struct的未导出的域 这里例子说明如何使用reflect包来访问修改未导出的域。 假设定义了package: package mypackage type MyStruct struct { ii int ss string aa []int } func NewMyStruct(i int, s string, a []int) *MyStruct { return & MyStruct { ii : i, ss : s, aa : a, } } 在main里面调用: package main import ( "reflect" "unsafe" "fmt" "mypackage" ) func main() { foo := mypackage.NewMyStr...阅读全文

博文 2018-11-09 17:34:59 CodingCode