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

Go学习笔记之:if else 条件判断

Go语言的条件判断结构也很简单。 package main import "fmt" func main() { // 基本的例子 if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } // 只有if条件的情况 if 8%4 == 0 { fmt.Println("8 is divisible by 4") } // if条件可以包含一个初始化表达式,这个表达式中的变量 // 是这个条件判断结构的局部变量 if num := 9; num < 0 { fmt.Println(num, "is negative") } else if num < 10 { fmt.Println(num, "has ...阅读全文

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

golang的标准输入输出

golang中的标准输出很简单: package main import ( "fmt" ) func main() { fmt.Println("Hello world"); } 标准输入的,自己试了好多次都不行: package main import ( "fmt" ) func main() { var str string fmt.Scanln(str) fmt.Printf("INPUT :%s\n", str); } 结果发现正确的应该是在str前加&: package main import ( "fmt" ) func main() { var str string fmt.Scanln(&str) fmt.Printf("INPUT :%s\n", str); } 小记一...阅读全文

博文 2014-10-04 19:26:55 无量神通

Go项目开发----2048小游戏

刚接触go语言不久,前段时间看到一个2048的项目开发教程,于是就试着练了下手。我的环境采用的是Ubuntu Linux环境。 源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048 游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的...阅读全文

博文 2014-10-22 19:00:01 hzy305365977

[Go] --- 变量的声明和定义

Email : hahayacoder@gmail.com 1 Go中变量的声明和JavaScript很像,使用var关键字 2 Go中变量的声明、定义有好几种形式 //声明并初始化一个变量 var m int = 10 //声明初始化多个变量 var i, j, k = 1, 2, 3 //多个变量的声明(注意小括号的使用) var( no int name string ) //声明时不指明类型,通过初始化值来推导 var b = true//bool型 //一种简单的方式等价于varstrstring="Hello" str := "Hello" //Go中有一个特殊的变量_任何赋给它的值将被丢弃 _, Ret:= 2, 3 3 Go的编译器对声明却未使用的变量在报错 4 和C语言一样...阅读全文

博文 2014-10-11 16:00:02 qiurisuixiang

Golang浮点型的默认舍入规则——四舍六入五成双

四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则,又名银行家舍入法。它比通常用的四舍五入法更加精确。 具体规则: 被修约的数字小于5时,该数字舍去; 被修约的数字大于5时,则进位; 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。 助记口诀: 四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一 Golang中浮点型默认使用银行家舍入法,如下使用代码验证示例 import ( "fmt" ) func main() { fmt.Printf("9.8249 => %0.2f(四舍)\n", 9.8249) fmt....阅读全文

博文 2016-09-02 17:00:04 henrylee2cn

go语言初记2(备忘)

看《Go入门指南》 ,这里讲得比较基础,针对go 1.0版,以下是一些我自己觉得特别和不容易理解的地方的摘抄! 上次有说到go里不同类型之间操作必须显示转换,int和uint不固定,所以int 不是int32 int 和 uint 在 32 位操作系统上,它们均使用 32 位(4 个字节),在 64 位操作系统上,它们均使用 64 位(8 个字节)。 package main func main() { var a int var b int32 a = 15 b = a + a // 编译错误 b = b + 5 // 因为 5 是常量,所以可以通过编译 } 格式化说明符(应该不止这些) 在格式化字符串里,%d 用于格式化整数(%x 和 %X 用于格式化 16 进制表示的数字),%g 用于...阅读全文

博文 2014-10-04 19:26:32 haanico

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。 本篇文章基本按照 tour 的步骤,跑跑例子,从例子中去猜测/分析 go 的语法以及结构等,一定程度上可以锻炼一下,观察和分析能力。 hello,world: package main import "fmt" func main() { fmt.Println("hello,world") // 输出 hello,world } 1). package 将程序打包; 2). import 导入其他包,包名用双引号引住;fmt 包 —— 应该是 fo...阅读全文

博文 2014-10-24 11:36:49 陆仁贾

Go项目开发----2048小游戏

源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的方块在移动中碰撞,则它们会合并为一个方块,且所带数字变为两者之和。每次移动时,会有一个值为2或者4的新方块出现。当值为2048的方...阅读全文

博文 2014-10-22 14:00:01 LSoam

golang实现任意日期格式转换标准日期格式

*Fork了别人一个Repository 日期解析* 这个package的功能很简单就是将一个未知的日期格式转化为标准的日期格式,日常生活中可以作为日期的数据清洗,接下来将开发以此Repository为基础,支持可配置的自动识别日期格式的功能,Repository正在开发中,有兴趣的小伙伴可以随时提PR,共同完善,共同学习。 Repository地址: noaway/dateparse ( http://link.zhihu.com/?target=https%3A//github.com/noaway/dateparse ) 具体的使用方式如下: package main import ( "flag" "fmt" "time" "github.com/apcera/termtables"...阅读全文

博文 2017-11-23 09:56:16 诺唯

golang笔记——string

任何语言中,字符串操作API都是非常重要的,有些还是熟记比较好,当然如果记不住可以去看源码文件,不得不说GO语言源码看起来非常舒服。 字符串操作相关的API大多封装在 strings 包里,下面列一些常见的 func Count(s, sep string) int 获取指定子字符串的个数 func Contains(s, substr string) bool 判断是否包括某子字符串 func ContainsAny(s, chars string) bool 判断是否包括某字符串中的做任意一个字符,只要包括其中任意一个字符则返回true func EqualFold(s, t string) bool 忽略大小写时,判断两个字符串是否相等。 func Fields(s string) [...阅读全文

博文 2016-03-04 17:00:03 tianyajuanke

golang 工程目录结构

GoPATH 的设置编译比较麻烦,写一个脚本在 项目目录下运行,进行直接编译: ! /bin/bash oldGOPATH=$GOPATH nowPATH=`pwd` export GOPATH=$oldGOPATH:$nowPATH echo "GOPATH = $GOPATH" go install $@ export GOPATH=$oldGOPATH` 每次都记不住 这个结构,编译的时候总找不到包, 弄个脚本创建项目目录: #!/bin/bash function usage(){ echo "usage :" echo "$0 projectName" } if [ $# != 1 ]; then usage fi projectName=$1 dir=$projectName"P...阅读全文

博文 2015-10-16 10:00:06 gaopeiliang

一个月的golang服务器开发感触

好快,一个月过去了,感觉自己学得少,也感觉自己有点质的飞跃。以前用的openresty,怎么说,也很有价值,高并发,负载均衡,在某种小游戏上是可以一试的,其实我很有想法的,,,但是用来做游戏对开发这来说,太没得发展前途了,,,毕竟我觉得,起码得会很多重要的编程思想,设计模式比较好,毕竟不是产品发展方向,,,对于golang这一个月,感觉发现了新大陆一样的,了解了rpc,kcp,真正体会到了高内聚和低耦合的意义,明白了,数据库并不是那么刚需的,体会到了golang真的是天生为了解决分布式,微服务,高内聚低耦合而诞生的,还有一帮兢兢业业的大佬,心里由衷的敬畏,他们真的是程序员的样子,而不是混日子,做一天和尚,敲一天钟。希望自己不忘初心,有高追求,努力奋斗。可以用openresty做路由,gola...阅读全文

Golang 包单例模式小记

学习golang也有一段时间了,但是对包的概念不是很清楚,这里模拟一个单例的实现 加深了对包的理解,包中变量作用域的使用 对包全局变量作用域有了理解 目录结构 mian方法 main.go package main import ( "log" "p/p1" _ "t" ) func main() { log.Print("-------下面是main-------") p1.Say() } 包 t t.go package t import ( "p/p1" ) func init() { a := p1.NewPeople() a.SetName("tttttttt") a.SetAge(188) p1.Say() } 包p/p1 p1.go package p1 import ( "l...阅读全文

博文 2016-05-14 10:00:00 soulsu

golang浮点数精度问题

今天遇到一个浮点数截取后计算的问题。截取后的浮点数,再作运算,会导致精度不准确。这种不是必现,而是根据你作运算的具体浮点数决定。 必须想办法100%避免这种问题。 直接上代码吧 问题代码 package main import ( "fmt" "strconv" ) func main() { var ff, e float64 e = 100.00 ff = -0.210615789 ff = FloatRound(ff, 4) fmt.Println(ff) // 输出 -0.2106 qq := ff * e fmt.Println(qq) // 输出 -21.060000000000002 } // 截取小数位数 func FloatRound(f float64, n int) f...阅读全文

博文 2018-05-10 15:33:05 丶老邪

寻找同道人-go语言开发

我们的目标:建立自己的艺术电商平台 我们的语言:golang 我们的要求:热爱go语言。致力于go语言开发。 我们希望你有:2年及以上GoLang开发工作经验,1年以上Golang服务器端开发经验 我们能给你的:可以在GO语言方面得到的提升及发挥,有可以探讨并且共同成长的同事,有施展的平台与空间,富有艺术气息的工作环境,舒适良好的生活环境,当然还有很优渥的薪资待遇。 有意愿的小伙伴,快来联系我吧! QQ:1439922309 0571-8168116...阅读全文

编程年·2015活动「邀请函」

尊敬的先生/女士: 北京矩道优达网络科技有限公司·诚邀您参加我们的新活动"编程年·2015",在 2015 年学编程。 一个呼吁“全民学编程”的站点,只需要简单输入邮箱报名,你将免费得到手把手教你编程的课程,新年到来时,你将收到老师的邮件。 从此,自己做应用和网站将不再是梦想,我们许诺你在未来的一年成为会编程的魔法师。 内页是一个邀请好友排名得奖品的活动,奖品包含了42寸电视、iPad、Xbox、锤子T1、投影键盘等或酷或萌的奖品。 参加活动请C戳------>[http://url.cn/YemAF9](http://url.cn/YemAF9) (谨记:BOSS承诺:凡通过内部员工邀请链接参加活动全部都送10积分作为初始积分,还有只要不作弊,自己人...阅读全文

一个新的express 风格的web framework

# Gbeta [Gbeta](https://github.com/yyrdl/Gbeta) 是一个新的express 风格的web Framework , 在性能上优于 [Martini](https://github.com/go-martini/martini),有benchmark为证。 ReadMe.md 写的有点着急,不是很详细,功能也只做了基础的,但是留足了开发middleware的接口。 现在刚刚发布第一个版本,目前还未发现issue ,但是想进一步提升性能,并在结构上做进一步优化,特来社区寻找小伙伴 ^_^ ![gbeta_logger.png](http://studygolang.qiniudn.com/160409/ebec9fe8a5a973df29...阅读全文

golang调用sql server proc

许久没写博客,近来真有点郁闷,首先自己水平有限,在成为大牛的路上努力挣扎中,狰狞地挣扎,其次是不满某些人的某些态度,我觉得态度是很重要的,好,吐槽完毕。 由于项目需要,需要用到sql server。首先golang连接sql server用的是官方推荐的包github.com/denisenkom/go-mssqldb,可以直接go get。golang调用sql server存储过程是比较蛋疼的,没有什么方法可以直接调用,所以我自己写了个方法: //proc is the proc name //declare is the proc declare with the return values //in is the params in //out is the params out /...阅读全文

博文 2016-09-05 18:00:08 luomoshusheng

Go 边看边练 -《Go 学习笔记》系列(三)

上一篇: Go 边看边练 -《Go 学习笔记》系列(二) 1.7 指针 支持指针类型 *T,指针的指针 **T,以及包含包名前缀的 *.T。 默认值 nil,没有 NULL 常量。 操作符 "&" 取变量地址,"*" 透过指针访问目标对象。 不支持指针运算,不支持 "->" 运算符,直接用 "." 访问目标成员。 不能对指针做加减法等运算。 x := 1234 p := &x p++ // Error: invalid operation: p += 1 (mismatched types *int and int) 可以在 unsafe.Pointer 和任意类型指针间进行转换。 返回局部变量指针是安全的,编译器会根据需要将其分配在 GC Heap 上。 func tes...阅读全文

博文 2015-09-04 21:37:03 88250

Golang学习日记(一) 环境搭建

本人一个纯的C#客户端程序员,一直搞WPF,最新想尝试点新的东西。。背景介绍完毕 ——————————————————割———————————————————— 一边记笔记一边下载我大golang的平台安装包,go1.3.3.darwin-amd64-osx10.6.pkg,我是x64的机器,所以下载amd64的版本,当然x86的同学需要下载的是386版本。下面是我的参考的一些有关环境搭建的链接,是之前开的小灶: - http://bigasp.com/archives/594 - http://wenku.baidu.com/link?url=A7vF9nu2pohavJn8yM7KPkPQ0017ZOjGlivVDHeerUMh8orUaWWxUb...阅读全文

golang实现的一个小游戏–猜数字

文同步至:http://www.waylau.com/golang-game-guess-numbe/ 随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了, 代码如下: package main import ( "bufio" "fmt" "math/rand" "os" "strconv" "time" ) var ( endNum int //设置生成数的范围 ) func main() { i := createRandomNumber(endNum) //fmt.Println("生成规定范围内的整数:", i) //本句调试用 fmt.Println("请输入整数,范围为:0-", endNum) flag := true reader := bufio...阅读全文

博文 2014-11-19 01:00:02 kkkloveyou

RSS 阅读器 QReader

QReader 是一款使用 Go 和 JavaScript 编写的阅读器,支持订阅 RSS 2.0 和 Atom 1.0 格式的 feed。 为了运行 QReader ,你需要有一台 server,它可以是你放在局域网中的 PC。你需要在 server 上运行 QReader 服务端程序,然后使用手机、平板电脑或 server 上的浏览器访问 QReader。当然,如果你有兴趣,可以尝试把 QReader 编译到 Android、iOS 设备或路由器中。 QReader 是一个单用户的阅读器,不适合多人共同使用。 ![QReader](http://static.oschina.net/uploads/img/201510/03192857_qoy8.jpg) QReader 包...阅读全文

开源项目 2015-10-02 16:00:00 m3ng9i

go语言 接口 小记

接口理解:type Operation interface{ Cut(a Integer) Add(a Integer)}type Integer intfunc (a Integer)Cut(b int) Integer{ return a-b}func (a Integer)Add(b int)Integer{ return a+b}var a Integer =0var foo Operation = ago语言会自动根据a类型所具有的方法,也就是Integer所具有的方法 自动生成func (a *Integer)Cut(b int) Integer{ return a-b}func (a *Integer)Add(b int)Integer{ return a+b}所以说 接口中的...阅读全文

博文 2014-12-25 01:00:02 gandilong

招聘Go语言资深工程师

北京全息互信数据科技有限公司是一家专注于区块链技术和应用的公司,致力于重构区块链、建造并运营真正适合关键现实应用的去中心化的区块链云平台,充分释放其潜能、完全消除开发和运营的的技术门槛,让区块链技术真正能够落地关键的现实应用。PDX云平台DaaP是世界上目前唯一能够支持在公有链/联盟链上做真正私密应用的区块链平台。 岗位描述: 1. 负责PDX DaaP平台区块链协议栈的研发工作 2. 负责区块链基础平台的模块设计 要求: 1. 3年以上Go语言开发经验 2. 精通基于Go语言的tcp/ip的网络应用开发 3. 精通Golang leveldb的应用开发 4. 有加密应用开发的经验为佳 感兴趣的小伙伴可以发送简历到jiaxin.yuan@pdxchg.com ...阅读全文

今日头条广告部门招聘各种岗位(ps:最核心团队之一),待遇丰厚期权免费3餐1500房补每月

1. 关于我们: 今日头条广告系统团队,主要负责公司所有系列产品的商业变现,包括今日头条、西瓜视频、抖音、火山小视频、内涵段子等等,广告系统已经积累了几百名优秀的研发人才,打造出了海内外一流领先的信息流广告系统,每天支撑着公司数千万的稳定收入。 2. 岗位需求: -- 后台/前端研发工程师(负责国内外高并发商业平台的研发和优化) -- 算法/大数据研发工程师(研究海量数据的批量计算、实时计算) -- 投放研发工程师(广告投放平台的架构设计与优化) -- 测试开发工程师(把控广告营销平台的质量与稳定性) -- 安卓开发工程师(广告SDK的开发) 3. 待遇 今日头条待遇在国内互联网数一数二,期权,免费3餐(50元标准),每个月1500房补,过年至少几千的红包。。 ...阅读全文

GO(golang)语言学习(1)

GO(golang)语言学习(1) 1.导入包,一个主函数中只有一个main函数,包含一个main包,主函数中我们要申明main的包! package main func main(){ } 2.引入包文件,譬如我们使用的是fmt包,打印helloword用,golang有一个包可见性的定义,就譬如其他语言中的private 、protected这些声明。当手写字母是小写的就是包内可用,包外就不可以用了,手写字母大写,引用包的就可以使用!举个例子:fmt.Println();我们会发现我们使用的和引用的函数都是大写的!小写的会调用错误的! package main import “fmt” func main(){ fmt.Println(“你好,微度网络”); } 3.包的混淆机制,我们可...阅读全文

博文 2014-10-04 19:26:23 stephen830

Golang浮点型的默认舍入规则——四舍六入五成双

四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则,又名银行家舍入法。它比通常用的四舍五入法更加精确。 具体规则: 被修约的数字小于5时,该数字舍去; 被修约的数字大于5时,则进位; 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。 助记口诀: 四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一 Golang中浮点型默认使用银行家舍入法,如下使用代码验证示例 import ( "fmt" ) func main() { fmt.Printf("9.8249 => %0.2f(四舍)\n", 9.8249) fmt....阅读全文

博文 2016-09-12 12:00:37 henrylee2cn

golang 用/x/net/html写的小爬虫,爬小说

平时除了写代码,唯一的娱乐就是看看小说,放松一下大脑了。但在这个网站广告铺天盖地的环境下,想单纯的看会小说也成了一个问题了。最近在学习golang,于是就想写一个小爬虫,把小说爬下来看而不用看到讨厌的广告了。网上大多数教程都是用第三方库,很多都是用github.com/PuerkitoBio/goquery这个库,但因为从来没写过web,对jquery的语法完全是空白,而go语言圣经上的示例用到x/net/html这个google自己维护的库来爬网站的链接,于是研究了一下这个库,写了一个小爬虫,事实证明这个库写爬虫完全没问题,只不过比goquery麻烦一点,毕竟goquery是在这个库的基础上封装的,这个库更底层一点。特写下这往篇日记,记心太烂,怕过一段时间又忘了。经过这几天恶补了一下htm...阅读全文

博文 2017-08-22 10:05:01 neo_5687

BaiduPCS-Go 一个开源百度网盘高速下载工具

不少人认为现在的百度云盘比较坑。其实,百度云盘一直是一个很良心的产品,不止是曾经,包括现在,这里没有任何为百度洗白的意思,试用了国内外大大小小的各种网盘产品后,可以说百度网盘是一款优秀产品。国内的网盘不能称为完全个人的网盘,可以说里面的很多文件都是指向只有一份文件的快捷方式,而国外的网盘是完全可以称得上自己的网盘,待上传的文件即使之前已经有人上传到网盘服务器上,用自己的账号会发现还是要重新上传,所以空间比较小,能上传隐私文件。 其实利用这个特性可以试一试自己的文件有没有泄露,例如:小蜜同学把之前拍的一张浴室高清无码写真上传百度云,结果发现上传结果为秒传,这可能说明已经有人得到了这张写真,至于是谁上传的,那人上传到网盘是干什么,这就不好说了。可能是卖片的,也或许是某个和小蜜特别亲近的人。 同样...阅读全文

[Go] --- map

Email : hahayacoder@gmail.com Go语言中有一种好用的数据类型叫map(映射),相当于C++中的哈希表,map用起来很简单,很C++中的使用大同小异,下面就通过实际的代码来演示Go语言中map的使用 package main import "fmt" func main() { //map哈希表 //使用map创建一个空的map string是键 int是指 m := make(map[string]int) m["one"] = 1 m["two"] = 2 m["three"] = 3 //输出map 顺序不一样 fmt.Println(m) //输出map长度 fmt.Println(len(m)) //从map中取值 value := m["two"] f...阅读全文

博文 2015-06-17 23:08:21 qiurisuixiang

HD钱包学习小结

在比特币/以太坊等公链上都会用到钱包。钱包主要用来管理用户的私钥,及用户在链上的数字货币,即用私钥对交易进行签名。私钥可用于生成特定消息的签名,此签名可以在不泄露私钥的情况下使用公钥进行验证。 因为私钥极其重要,一旦泄漏就意味着数字资产的所有权就掌握在别人手里。理论上私钥可以是任意的一串随机数字串,不仅难以记忆也没有规律可循,有必要利用一些密码学方法来管理秘钥对(一个秘钥对包括一个私钥和对应的公钥),既方便管理又足够安全。 1. 非确定性钱包 如果只是完全随机生成一个数字串作为私钥,可以使用密码学安全的伪随机数生成器(CSPRNG,Cryptographically secure pseudorandom number generator,密码学安全伪随机数生成器)。这些私钥之间完全独立,相...阅读全文

博文 2018-07-29 11:34:55 shi_qinfeng

go语言初记

快速了解 http://go-tour-zh.appspot.com/welcome/1 (可以需要爬墙) 下面记录下了解go的过程,特别记录下与你脑子里原有“观念”不同的地方: 1. 声名 初始化,类型在后面,不一样 var a, b int var a,b =1,2var c, python, java = true, false, "no!" a,b:=func fname(string,string) //非声明,必须在func使用 短声明变量 在函数中,`:=` 简洁赋值语句在明确类型的地方,可以用于替代 var 定义。 函数外的每个语法块都必须以关键字开始(`var`、`func`、等等),`:=` 结构不能使用在函数外。 2.函数返回多个值 func swap(x, y str...阅读全文

博文 2014-10-04 19:26:41 haanico

Go语言小贴士2 - 协议解析

作者:达达链接:https://zhuanlan.zhihu.com/p/21367696来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。今天这个小贴士主要介绍协议解析的一些知识,Go语言作为服务端编程语言,免不了要涉及到通讯协议解析,即便不是做网络通讯,也难免会涉及到文件解析,其实它们的知识点都是一样的。 现实应用场景中,通讯协议按通常可以分为两类:二进制协议和文本协议。Go语言内置的gob格式就是一种二进制协议,而JSON、XML等则是文本协议。 假设我们要发送123这个数值,用二进制协议只需要一个字节,因为一个字节(byte)有8个二进制位(bit),2的8次方是256,一个字节可以表达0-255之间的任意值,共256种可能性。 如果我们用文本协议发送12...阅读全文

博文 2016-08-29 12:00:01 dasn

go语言导入"C"出错问题

以下内容来自转载,出处:本文出自 “松松” 博客,请务必保留此出处http://dongsong.blog.51cto.com/916653/1587363 最近在看人民邮电出版社 许式伟 吕桂华编著的《Go语言编程》,看到【1.2.9 语言交互性】小节的cprint.go。未按照书中源代码格式编写,而是把 import "C" 和 import "unsafe" 合并放入小括号中并和注释结束符 */ 间隔了一行,这也是大多数Go语言学习和开发者经常使用的代码风格,我修改后的代码如下: package main /* #include #include */ import ( "C" "unsafe" ) func main() { cstr := ...阅读全文

博文 2016-04-16 15:00:01 kuoshuang

新手求助 为什么不能加载包 我只是想做一个小爬虫 代码没有语法错误

"github.com/PuerkitoBio/goquery" func GetJokes() { doc,err:=goquery.NewDocument("http://www.qiushibaike.com") if err!=nil{ log.Fatal(err) } doc.Find(".content").Each(func(i int,s *goquery.Selection){ fmt.Println(s.Text()) }) } func main(){ fmt.Println("hello world") GetJokes() } can't load package: C:\Go\src\testapp\ma...阅读全文

Go-基础学习总结

1,背景:GO是强类型语言,其产生的原因是因为开发者认为C#,JAVA,C++太过繁重。而C也太过老旧,开发者想模仿C开发出一种接近底层的第三代语言。在当时多核时代盛行的背景下GO顺应潮流,坚持着简单的原则创造了GO 2,基础语法: 基本数据类型:int16 int32 int64 float32 float64 sring complex 3,定义 数据定义: int int[] slice var i int;i=0; var i int =0' var i,j int=0,0; i:=0 i,j:=0,0 var arr =[]int{0,1} var arr =[10]int; arr:=[10]int arr:=[...]{0,1,2,3} 指向数组的指针 这种反人类的设计,个人表...阅读全文

博文 2015-11-07 15:00:01 shuanger_

go 速学 - 05 - 流程控制

目录 流程控制 判断语句 if 循环语句 for 跳转语句 switch 摘要 if,for 的三种形式,switch两种形式,switch 与 break 流程控制 判断语句 if 基本语法 if 后没有小括号 支持变量初始化,初始化的变量要以 “;” 结尾 使用变量初始化产生的变量,作用域仅在 if 语句之内 if 1 < 2 { fmt.Println(1) //1 } if a := 5; a > 3 { //变量初始化 a fmt.Println(a) //5 } //fmt.Println(a) 超出作用域 循环语句 for for 语句有三种形式 第一种 a := 1 for { a++ if a > 3 { break } fmt.Print(a, ":") //2:3: }...阅读全文

博文 2015-05-07 00:00:00 mrseasons

golang实现的一个小游戏–猜数字

文同步至:http://www.waylau.com/golang-game-guess-numbe/ 随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了, 代码如下: package main import ( "bufio" "fmt" "math/rand" "os" "strconv" "time" ) var ( endNum int //设置生成数的范围 ) func main() { i := createRandomNumber(endNum) //fmt.Println("生成规定范围内的整数:", i) //本句调试用 fmt.Println("请输入整数,范围为:0-", endNum) flag := true reader := bufio...阅读全文

博文 2014-10-04 19:26:13 kkkloveyou

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語言基礎教程:流程控制

在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package main import ( "fmt" ) func main(){ var x,y int=1,2 { var x int=2 { var x int=3 fmt.Println(x,y) //首先輸出3,2 如果我把這行輸出語句注解掉,大家猜猜會如何? } fmt.Println(x,y) //其次輸出2,2 } fmt.Println(x,y) //最後輸出1,2 } 執行結果我已經加到註釋內了,其實沒必要好奇,GO語言就是如此,這種突然出現的大括號構成了複合語句,大括號內的變量作用範圍只能在變量內部,這就涉及到變量的作用...阅读全文

Go语言调用C语言函数的坑

最近在看人民邮电出版社 许式伟 吕桂华编著的《Go语言编程》,看到【1.2.9 语言交互性】小节的cprint.go。未按照书中源代码格式编写,而是把 import "C" 和 import "unsafe" 合并放入小括号中并和注释结束符 */ 间隔了一行,这也是大多数Go语言学习和开发者经常使用的代码风格,我修改后的代码如下: package main/*#include #include */import ( "C" "unsafe")func main() { cstr := C.CString("Hello, world") C.puts(cstr) C.free(unsafe.Pointer(cstr))} 结果在我的Windows 7 64...阅读全文

博文 2014-12-07 23:00:06 董松