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

命令: go build

go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。当编译单个main包(文件),则生成可执行文件。当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标的依赖关系的包(用于增量编译提速)。 以下 build 参数可用在 build, clean, get, install, list, run, test -a 完全编译,不...阅读全文

博文 2017-02-21 10:00:42 0zaki1sc

GO语言运行cmd命令逐行实时输出执行过程

Golang运行cmd命令逐行实时输出执行过程,注意,不是一次输出所有的内容,而是按照执行的过程,逐行逐行的实时显示出来 代码如下: package main import ( "bufio" "fmt" "io" "os/exec" ) func main() { command := "ls" params := []string{"-l"} //执行cmd命令: ls -l execCommand(command, params) } func execCommand(commandName string, params []string) bool { cmd := exec.Command(commandName, params...) //显示运行的命令 fmt.Println(...阅读全文

博文 2015-06-17 23:07:41 windvix

golang日期字符串与时间戳转换

坑爹啊 网上搜的到都是坑爹代码 只好自己搞 //获取本地location toBeCharge := "2015-01-01 00:00:00" //待转化为时间戳的字符串 注意 这里的小时和分钟还要秒必须写 因为是跟着模板走的 修改模板的话也可以不写 timeLayout := "2006-01-02 15:04:05" //转化所需模板 loc, _ := time.LoadLocation("Local") //重要:获取时区 theTime, _ := time.ParseInLocation(timeLayout, toBeCharge, loc) //使用模板在对应时区转化为time.time类型 sr := theTime.Unix() //转化为时间戳 类型是int64 fm...阅读全文

博文 2015-06-17 20:23:32 u012210379

go build -ldflags 参数及 gdb 调试

go build -ldflags 参数及 gdb 调试 有时发布时我们想隐藏所有代码实现相关的信息,使用 go build -ldflags 参数可以实现相关要求。 示例代码 本文使用版本为go 1.6。 package main import "log" type MyCat struct { name string age int } func main() { cat := MyCat{ name: "tom", age: 10, } log.SetFlags(log.Llongfile) log.Println(cat) } 使用-ldflags 设置编译参数-ldflags "-w -s"。 其中-w为去掉调试信息(无法使用gdb调试),-s为去掉符号表(暂未清楚具体作用)。 g...阅读全文

博文 2016-07-10 05:00:06 gvgarven

Go 系列教程 —— 8. if-else 语句

这是我们 [Golang 系列教程](https://golangbot.com/learn-golang-series/)的第 8 篇。 if 是条件语句。if 语句的语法是 ```go if condition { } ``` 如果 `condition` 为真,则执行 `{` 和 `}` 之间的代码。 不同于其他语言,例如 C 语言,Go 语言里的 `{ }` 是必要的,即使在 `{ }` 之间只有一条语句。 if 语句还有可选的 `else if` 和 `else` 部分。 ```go if condition { } else if condition { } else { } ``` if-else 语句之间可以有任意数量的 `else if`。条件判断顺序是从上到下。如果 `i...阅读全文

博文 2017-12-09 10:24:21 Dingo1991

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 无量神通

golang时间格式化

golang中如何输入当前时间 package main import( "fmt" "time" ) func main(){ t := time.Now() y,m,d := t.Date() today := time.Now().Format("2006-01-02") datetime := time.Now().Format("2006-01-02 15:04:05")//后面的参数是固定的 否则将无法正常输出 fmt.Println("time is : ",t ) fmt.Println("y m d is : ",y,m,d ) fmt.Println("now is :",today) fmt.Println("now is :",datetime) ...阅读全文

博文 2015-06-17 20:04:06 herohenu

go build命令详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl1zl2zl3/article/details/83374131 go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。 当编译单个main包(文件),则生成可执行文件。 当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。 当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标...阅读全文

博文 2019-03-05 22:31:03 zl1zl2zl3

golang中的格式化输入输出

【简介】 fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf。格式“占位符”衍生自 C,但比 C 更简单。 【打印】 占位符: [一般] %v 相应值的默认格式。在打印结构体时,“加号”标记(%+v)会添加字段名 %#v 相应值的 Go 语法表示 %T 相应值的类型的 Go 语法表示 %% 字面上的百分号,并非值的占位符 [布尔] %t 单词 true 或 false。 [整数] %b 二进制表示 %c 相应 Unicode 码点所表示的字符 %d 十进制表示 %o 八进制表示 %q 单引号围绕的字符字面值,由 Go 语法安全地转义 %x 十六进制表示,字母形式为小写 a-f %X 十六进制表示,字母形式为大写 A-F %U Unicode 格式:U+1234...阅读全文

博文 2016-06-01 11:00:01 xiaoyida11

golang printf中的%c,%d,%u.都分别代表输出的是什么类型的?

%表示格式化字符串输出目前printf支持以下格式的输出,例如:printf("%c",a);输出单个字符。printf("%d",a);输出十进制整数。printf("%f",a);输出十进制浮点数.printf("%o",a);输出八进制数。printf("%s",a);输出字符串。printf("%u",a);输出无符号十进制数。printf("%x",a);输出十六进制数...阅读全文

博文 2017-07-10 08:07:47 Robinbing

Golang调用Python

阅读原文请点击摘要:Python是时髦的机器学习御用开发语言,Golang是大红大紫的新时代后端开发语言。Python很适合让搞算法的写写模型,而Golang很适合提供API服务,两位同志都红的发紫,这里就介绍一下正确搅基的办法。 ![干他一炮.jpg](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/f5ad9d2dbd36c37ef742c7be6998Python是时髦的机器学习御用开发语言,Golang是大红大紫的新时代后端开发语言。Python很适合让搞算法的写写模型,而Golang很适合提供API服务,两位同志都红的发紫,这里就介绍一下正确搅基的办法。 原理Python提供了丰富的C-API。而C和Go又可以通过cgo无缝集成...阅读全文

博文 2017-07-06 07:08:31 骑猪逛街666

【币码翁】IPFS官方周报第52期 ​

​ 欢迎关注IPFS官方周报!星际文件系统(IPFS)是一种通过内容和身份寻址的新型超媒体分发协议。IPFS支持创建完全分布式应用程序。它旨在使网络更快,更安全,更开放。由于这是一个非常大的范围,我们在每周调度中跟踪整个生态系统的发展。以下是自上次IPFS周报以来的一些亮点。最新的在Raspberry Pi上安装IPFS和IPFS-Cluster想过破解IPFS和物联网吗?Aadhi Manivannan最近写了一篇很棒的教程,介绍如何在Raspberry Pi上安装IPFS和IPFS-Cluster。 IPFS在野外你在Twitter上关注IPFS吗?有关IPFS的最新新闻,请查看我们的Twitter提要或查看有关Awesome IPFS的最新文章。分散式云存储正在改变互联网的面貌,Hac...阅读全文

博文 2019-07-31 16:32:48 IPFS星际特工

Golang结构体格式化输出问题

go结构体存在嵌套结构体时,使用%+v格式化输出时会出现打印指针地址的问题,如: type Student struct{ Name string Desp string } type Teacher struct{ Student []*Student Name string } func main() { teacher := new(Teacher) teacher.Name = "teacher" student := new(Student) student.Name = "student" student.Desp = "this is student" student2 := new(Student) student2.Name = "student2" student2.De...阅读全文

博文 2019-05-05 21:34:58 一只努力的微服务

go语言之Cmd.start, Cmd.Wait

package main import ( "fmt" "log" "os/exec" "encoding/json" ) func main() { cmd := exec.Command("echo", "-n", `{"Name": "Bob", "Age": 32}`) stdout, err := cmd.StdoutPipe() if err != nil { log.Fatal(err) } if err := cmd.Start(); err != nil { log.Fatal(err) } var person struct { Name string Age int } if err := json.NewDecoder(stdout).Decode(&person);...阅读全文

博文 2015-06-17 23:07:38 zistxym

DockOne微信分享(五十八):基于Docker、Mesos、Ceph全新技术栈的三地三中心容灾体系之大二层网络

【编者的话】基于Docker、Mesos、Ceph全新技术栈的三地三中心容灾体系解决方案目前是没有在生产环境中进行实施的,因为这还是一个正在研发中的解决方案,之所以分享出来是想把它做成一个解决方案开源项目,供大家参考和讨论,也请大家提出自己的想法和意见以便更好的完善这一解决方案。 @Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自Rancher、携程、PPTV、蚂蚁金服、京东、浙江移动、海尔电器、唯品会、eBay、道富银行、麻袋理财、土豆网、阿里百川、腾讯游戏、数人云、点融网、华为、轻元科技、中兴通讯等公司的技术负责人将带来实践经验分享,5月7日之前购票只需438元,欢迎感兴趣的同学抢购。 大二层简介在TCP/IP协议栈中,标准的将IP协议分为七层,物理层、数...阅读全文

golang sync.Once

package main import ( "fmt" "sync" "time" ) var counter int = 0 func main() { var once sync.Once onceBody := func() { time.Sleep(3e9) fmt.Println("Only once") } done := make(chan bool) for i := 0; i < 10; i++ { j := i go func(int) { once.Do(onceBody) fmt.Println(j) done <- true }(j) } //给一部分时间保证能够输出完整【方法一】 //for i := 0; i < 10; i++ { // <-done //} ...阅读全文

博文 2015-04-09 03:00:00 rojas

改变Go命令行输出颜色

写命令行程序时,希望输出不是单一的颜色,实际上,Linux 这样的系统中,有不少命令输出是有颜色的。那么 Go 编写的程序能做到吗? 事实上,已经有这样的第三方库可以使用: 1、[github.com/fatih/color](https://github.com/fatih/color) ![enter image description here][1] 2、[github.com/aybabtme/rgbterm](https://github.com/aybabtme/rgbterm) ![enter image description here][2] 3、[github.com/daviddengcn/go-colortext](https:/...阅读全文

GO 大小端

package main import ( "bytes" "encoding/binary" "fmt" ) func main() { var i uint32 = 1234 // 小端 b := make([]byte, 4) binary.LittleEndian.PutUint32(b, i) fmt.Printf("LittleEndian(%d) :", i) for _, bin := range b { fmt.Printf("%02X ", bin) } fmt.Printf("\n") //大端 fmt.Printf("BigEndian(%d) :", i) binary.BigEndian.PutUint32(b, i) for _, bin := range b ...阅读全文

博文 2017-05-16 07:00:50 痞子汤

Golang工程师

职位描述: 1. 使用 Go 语言开发稳健可扩展的后端服务 2. 为实现服务的高可用,进行必要的调优 3. 通过单元测试、自动化以及代码审查等提升优化代码质量 职位要求: 1. 两年以上 Go 服务端经验 2. 熟悉C/C++ 或 Rust至少一年开发经验 3. 熟悉 Linux、Redis、关系型数据库(MySQL,PostgreSQL)、消息队列、Docker 4. 熟悉IP/TCP VLAN SDN 等网络协议(加分) 5. 能够熟练阅读和理解纯英文开发文档(加分) 6. 熟悉华为 思科等网络设备的配置和命令(加分) 7. 有Github开源作品/个人Blog(加分) 工作地址 北京市丰台区航丰一号时代财富天地2112-2113...阅读全文

利用Go1.4的新特性,在go test时输出glog日志

Go1.4 新增了一个功能:TestMain(m *testing.M) 利用这个函数,可以在*_test.go里面统一设置一次glog的参数,让go test的输出,也能包含glog的日志! func TestMain(m *testing.M) { flag.Set("alsologtostderr", "true") flag.Set("log_dir", "/tmp") flag.Set("v", "3") flag.Parse() ret := m.Run() os.Exit(ret) } 这样可以避免在每个TestXXX函数的开头都去设置flag. 参考: https://justinas.org/my-reason-to-be-excited-for-go-14/ https:...阅读全文

博文 2015-06-18 18:07:59 wk3368

golang logging,方便的日志输出

虽说go有自己的log内部实现,但是用起来呢我不太舒服,所以重新造了个。 ```go package main import ( "github.com/gamelife1314/logging" "os" ) func main() { logger := logging.GetDefaultLogger() logger.DEBUG("hello world, %s", "logging") logger.INFO("hello world, %s", "logging") logger.WARNING("hello world, %s", "logging") logger.ERROR("hello world, %s", "logging") logger.CRITICAL("hel...阅读全文

博文 2017-12-30 22:33:55 gamelife1314

golang 写文件--详细解释

1,不覆盖指定的文件 先看代码怎么写,下面再具体解释. func writeToFile(msg string) { f, err := os.OpenFile("/home/mingbai/del/koala.log", os.O_WRONLY&os.O_CREATE, 0666) if err != nil { log.Println(err.Error()) } _, err = f.Write([]byte(msg)) if err != nil { log.Println(err.Error()) } f.Close() } OpenFile 这个函数不那么好理解,解释一下. 第一个参数 就是文件路径. 第二个参数是一个 文件打开方式的flag是读是写 还是读写;是追加还是清空等,...阅读全文

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

关于SDN的未来,Linux基金会专访阿里云网络大神

摘要: 近日,大家熟知的国际开源组织Linux基金会与阿里云进行了一次访谈。专访了阿里云网络团队掌门人江鹤。江鹤执掌阿里云网络产品线,并负责阿里集团网络虚拟化产品的研发管理工作。在软件定义网络(SDN)和网络功能虚拟化(NFV)领域从事开发和产品管理工作多年,是一名资深网络技术专家。 近日,大家熟知的国际开源组织Linux基金会与阿里云进行了一次访谈。专访了阿里云网络团队掌门人江鹤。江鹤执掌阿里云网络产品线,并负责阿里集团网络虚拟化产品的研发管理工作。在软件定义网络(SDN)和网络功能虚拟化(NFV)领域从事开发和产品管理工作多年,是一名资深网络技术专家。他参与和主导了阿里云网络从第一代经典网络,第二代VPC网络,如今进化到领先的第三代全球云上企业网的历史进程。他所带领的团队历时近十年...阅读全文

golang ssh host 连接华为NE5k路由器并支持more分页符

golang ssh host 连接华为NE5k路由器并支持more分页符 利用golang/x/crypto/ssh实现并参考作者: CodyGuo代码 登录华为路由器执行命令display version和display arp statistics all 对终端屏宽产生的分页符做处理 可用作单台设备执行命令打印输出之用 重点code说明 ... in <- "display version" //执行输入goroutine in <- "display arp statistics all" ... go func() { for cmd := range in { wg.Add(1) w.Write([]byte(cmd + "\n")) wg.Wait() //控制每次gorou...阅读全文

博文 2017-03-09 15:52:14 飞天神猫

关于json格式化输出json.MarshalIndent()的使用

最近发现用json.MarshalIndent()转出来的json打印出来比较好看 比如 ``` js,_ := json.Marshal(&person) jsIndent,_ := json.MarshalIndent(&person, "", "\t") fmt.Println("\njs:\n",string(js), "\n\njsIndent:\n",string(jsIndent) ``` 打印出来: ``` js: {"Time":1987,"Name":"liangyongxing","Age":12} jsIndent: { "Time": 1987, "Name": "liangyongxing", "Age": 12 }...阅读全文

对于APP安全性测试策略的思考

随着互联网发展,APP应用的盛行,最近了解到手机APP相关的安全性测试。目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可以是bug的一种,只不过更加隐秘,难以发现,尤其针对于手机App。 特别是以webview为主体的app,先简单说说,站在入侵或者攻击的角度来讲,安全隐患在于http抓包,逆向工程。    目前大部分app还是走的http或者https,所以防http抓包泄露用户信息以及系统自身[url=]漏洞[/url]是必要的,通过抓包当你查看一个陌生用户信息时,一些手机号,qq等信息页面上应该不显示的,但这些信息不显示并...阅读全文

使用 Golang 操作 Linux Namespaces

Linux 命名空间简介命名空间分类CLONE_NEWPIDCLONE_NEWIPCCLONE_NEWNSCLONE_NEWNETCLONE_NEWUTSCLONE_NEWUSER代码示例总结参考 Linux 命名空间简介 Linux Namespaces(Linux 命名空间)机制提供了进程使用操作系统资源时的隔离方式,是基于内核实现轻量级虚拟化(容器化,例如 docker)的实现基础。 具体来说就是当我们创建一个进程时,可以给进程设置 flag 组合来构建进程的命名空间,处于不同命名空间的进程是相互隔离的。 命名空间分类 目前我们可以设置如下几种命名空间,它们分别从不同的资源纬度进行隔离。 CLONE_NEWPID 该标识用于创建一个新的 PID 命名空间,新进程将成为命名空间里的第一个...阅读全文

博文 2015-04-05 11:18:54 88250

golang学习之奇葩的time format

golang格式化时间时,比如如下格式进行格式化输出: fmt.Println(time.Now().Format("2007年03月")) 程序直接输出: 16007年02月 很奇葩,但是若改成: fmt.Println(time.Now().Format("2006年01月")) 程序正确输出: 2016年06月 据说是go诞生日期,只认这个,更详细的时间是: fmt.Println(time.Now().Format("2006-01-02 15:04:05")) 2016-06-16 14:18:1...阅读全文

博文 2016-06-17 03:00:01 caiya928

阿里云携领先SDN能力,亮相全球网络技术盛会ONS

摘要: 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。知名IT...阅读全文

能源管理系统—能源在线监测平台搭建

源中瑞能源在线监测平台开发联系电话/微信:13828867935(谭)QQ:1993018750 源中瑞能源在线监测系统简介 能源在线监测系统采用高质量的专用智能电表、智能水表、蒸汽流量计、热能计等各种通讯功能的仪表,采集能耗数据,通过布线或者无线传输到软件平台(优先考虑利用企业自有的内部局域进行数据传输,减少成本)。按照有关能源形式和种类的定义,全面覆盖电、水、煤、汽/气、油等企业生产经营活动可能消耗能源的计量和监测。 源中瑞能源在线监测系统是什么? 1、监视关键设备运行状况 2、实时掌握能耗情况。 3、计算分析工艺流程的能耗水平。 4、实现成本分摊。 5、提供能源信息。 6、为进一步实施节能工程提供数据支撑。 源中瑞能源在线监测系统的三大组成部分 1、能源管理系统软件平台:主要对采集的数...阅读全文

博文 2018-12-29 14:49:55 vx13828867935

go语言的string和slice是值拷贝吗?

package main import "fmt" func main() { var str string = "12345" tmpstr := str fmt.Printf("%x %x\n", str, tmpstr) tmpstr = tmpstr + "x" fmt.Printf("%x %x\n", str, tmpstr) var a []byte = []byte("12345") b := a fmt.Printf("%x %x\n", a, b) b = append(b, 'a') fmt.Printf("%x %x\n", a, b) } 应该是指针拷贝, 上面的输出是 3132333435 3132333435 3132333435 313233343578 31...阅读全文

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

golang随机数的问题,使用了网上所有的方法,都没有比较好的生成方式

我的代码: ``` package main import ( "fmt" "math/rand" //"runtime" "time" ) func main() { //runtime.GOMAXPROCS(1) fmt.Println("===rand.New(rand.NewSource(64))====") for i := 0; i < 20; i++ { r := rand.New(rand.NewSource(64)) fmt.Print(fmt.Sprint(r.Intn(5)) + "-") } fmt.Println("") fmt.Println("===rand.New(rand.NewSource(...阅读全文

golang GPIO编程

最近想到一个问题,现在的物联网也算发展的不错,golang说是在多个平台上开发但并没有看到有arm板上的外接设备的驱动方法,不知道是我没有找到还是现在并不支持,如果有的话希望能够提供一些例子或是链接。 PS:arduino这一类的arm板的go开发的框架有很多但太单一了,别的普通板好像真没有发现 追加:这个一个支持多品种ARM板的框架 https://github.com/hybridgroup/gobot/
https://github.com/kidoman/emb...阅读全文

学习Golang语言(4):类型--字符串

跟着“码术”一起学习Golang语言,偷懒了好多天啦,今天继续讲解Golang中的类型。今天讲解的是字符串。 学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习Golang语言(6):类型--切片 数值类型 补充上一章节没有指出的地方: Golang还定义了三种依赖系统的类型:int、unint和uintptr。因为在32位系统和64位系统上用来表示这些类型的位数是不同的。 字符串 Golang中另一个重要的内建类型是string。 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起...阅读全文

博文 2014-10-09 16:00:04 codemanship

golang chan make前后值比较

package main import ( "fmt" ) func main() { var chtest chan string fmt.Println("no make:", chtest) chtest = make(chan string, 10) fmt.Println("make no value:", chtest) chtest <- "one" fmt.Println("value one:", chtest) <-chtest fmt.Println("out value:", chtest) } 输出: no make: make no value: 0x1840d080 value one: 0x1840d080 out value: 0x1840d08...阅读全文

博文 2015-06-18 17:04:34 dayello

golang的http不是并发的么?

下面这代码同时打开两个页面访问,第二个要等第一个输出1,2后才会输出1,http不是并发的么