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

怎么解决VSCODE调试控制台exec: go: executable file not found in %PATH%

感谢您花时间阅读我的问题。 google baidu都用上了没找到症结。 go env set GOPATH=C:\mygo set GOROOT=C:\Go path=%GOROOT%\bin;%path% 目前解决办法是打开windows环境变量不做任何改动点击确定,重启vscode,这个错误消除了。 好像和集成终端没关系吧?设置成powershell了...阅读全文

golang语法总结(五):变量声明与赋值

变量声明与赋值示例: var i int = 1 //var关键字声明一个变量,紧跟一个变量名,然后是变量类型,最后是赋值var hehe = "hehe" //可以省略变量类型,编译器根据赋值的类型自动推算变量的类型var a,b,c,d = 1,2,3.14,4 //同时申明多个并赋值j := 10 //省略var关键字 如果是全局的变量,还可以这样: var ( a = 1 b uint64 = 3 c =3.14 d := 4...阅读全文

博文 2016-02-22 14:00:06 QQ245671051

Windows下为go程序加入图标资源

a. 准备图标资源如demo.ico,适用WindowsXP的图标可以选择32x32或48x48。 b.建立rc文件,如demo.rc 内容如下 IDI_ICON1 ICON "demo.ico" c.使用windres编译demo.rc。(windres.exe可以在MinGW中找到) windres -o demo_res.syso demo.rc d.使用go工具编译即可 go build e.如果是多平台开发,非Windows平台不需要rc资源,可以建立以下批处理 build.bat @echo offwindres -o demo-res.syso demo.rcgo builddel demo-res.sys...阅读全文

博文 2015-08-15 22:00:02 冷絮

Go 1.3+ 编译器变革

概述 目前Go编译器是C写的,是时候换成Go啦。 背景 “gc"Go工具链来自Plan 9编译器的工具链。组装器、C编译器和链接器基本没变。Go的编译器(cmd/gc,cmd/5g,cmd/6g,cmd/8g)是配合工具链写的新的C程序。 项目起始时,用C而不是Go写编译器有很多好处。突出的比如,首先,那时候Go还不存在,没法儿写编译器。而且实际上,就算存在,也会经常有明显的不兼容的变化。用C不用Go可以避免初始和持续开发导致的问题。然而如今Go 1已经稳定,所以这些持续的问题减少了很多。 傅小黑翻译于 10 个月 前 0人顶 顶 翻译的不错哦! 持续开发的问题已经消除,为了让Go实现的编译器比C更有吸引力,另一些工程问题出现: 写正确的Go代码比写正确的C代码更容易。 调试错误的Go代码比...阅读全文

博文 2014-10-10 08:00:02 傅小黑, 偃鼠饮河

如何在switch中对多个type进行匹配

比如, case int, float64 编译会报错,有没有什么方法能实现这种用法呢? ``` package main import "fmt" func do(i interface{}) { switch v := i.(type) { case int, float64: // Illegal! Then how? fmt.Printf("Twice %v is %v\n", v, v*2) case string: fmt.Printf("%q is %v bytes long\n", v, len(v)) default: fmt.Printf("I don't know about type %T!\n", v) } }...阅读全文

什么是云计算?什么是云服务器?有什么用?

什么是云计算?什么是云服务器?有什么用?很多人都听过云计算和云服务器这几个概念,那么到底什么是云计算、什么是云服务器呢?云服务器又有什么用呢?提供阿里云、腾讯云特惠1折秒杀活动的“尊托云数-zuntop.com”就带大家一起来了解一下。云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。云计算服务,即云服务。指可以拿来作为服务提供使用的云计算产品。...阅读全文

ubuntu 下 golang 跨平台编译 windows 程序

1. 安装 gcc-mingw-w64 apt-get install gcc-mingw-w64 2. 跨平台编译 生成 64位 exe 可执行文件. env CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build -o main.exe main.go 生成 32 位 exe 可执行文件 env CGO_ENABLED=1 GOOS=windows GOARCH=386 CC=i686-w64-mingw32-gcc go build -o main.exe main.g...阅读全文

同样的源码,osx上编译没问题,在centos上编译出现以下问题。

源码均通过go get获得,那么为什么还会提示“github.com/google/gopacket”是程序,不是包呢? can't load package: /root/GoProject/src/github.com/google/gopacket/examples/httpassembly/main.go:20:2: import "github.com/google/gopacket" is a program, not an importable package 新手学习中,here we go ,多多交流...阅读全文

[go]linux环境中文乱码问题

之前一直在windows下测试go代码,保存为utf-8,就可以正常显示中文. 迁移到linux后发现中文无法正常显示. 搜索了一下类似问题几乎没有. 测试发现是使用终端的问题. 我一直用的secure crt4.0, 懒得升级.但是4.0版本没有设置字符集的功能 换成putty就没问题了 下载了一个7.0的便携版的crt,把字符集设置成utf-8也可以了. cat和more显示都无问题(LANG=en_US也可以) 因为go必须是utf编码,所以使用vim要设置一下.vimrc set termencoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936 set fileencoding=utf-8 set encoding=utf-...阅读全文

博文 2015-06-18 09:09:20 laputa73

Redis删除大Key

[原文链接:https://www.dubby.cn/detail.html?id=9112](https://www.dubby.cn/detail.html?id=9112) >这里说的大key是指包含很多元素的set,sorted set,list和hash。 删除操作,我们一般想到有2种,`del`和`expire`。 # DEL >**Time complexity: O(N)** where N is the number of keys that will be removed. When a key to remove holds a value other than a string, the individual complexity for this key is O(...阅读全文

博文 2018-10-18 11:36:01 dubby

go 1.4支持Android的说明(译文)

https://docs.google.com/document/d/1N3XyVkAP8nmWjASz8L_OjjnjVKxgeVBjIsTr5qIUcA4/edit?pli=1 摘要 我们计划为Android平台引入GO支持。我们会关注于对用GO来开发游戏提供支持。 背景 Android是为了运行APP而设计的操作系统。一个app依赖于更多的平台库和服务(比传统Unix操作系统),这意味着如果没有新的API,Android上的GO运行时的一个端口,那将不会有多大用处。 提供一个Android平台的等价的GO是难以避免的。平台是用java写的,有很多的api接口。任何用GO来封装封装这些API的尝试都会得到一个不好的结果:手动编译封装会跟不上特色,自动生成封装会导致丑陋的GO。无论哪种方法...阅读全文

博文 2014-12-11 22:00:06 itfanr

Go数组反转练习

package main//要求:随机生成5个数字,求和 并将其翻转打印//思路//1.随机生成五个数 rand.Intn()函数//2、当我们得到随机数后 就放到一个数组 int数组//3、反转打印 交换次数len/2 倒数第一个和第一个交换 。。。 import ("math/rand""time""fmt")var arrnum [5]intvar arrlen =len(arrnum) //多次调用 将其设置成全局变量func main(){r := rand.New(rand.NewSource(time.Now().UnixNano()))sum := 0for i := 0 ;i阅读全文

博文 2019-03-09 12:35:09 GoDevops

源码编译遇到的问题

1.4.2源码编译时输出以下错误,哪位知道原因吗? ``` #Building C bootstrap tool. cmd/dist #Building compilers and Go bootstrap tool for host, linux/amd64. lib9 cc1: error: unrecognized command line option "-Wno-missing-field-initializers" cc1: error: unrecognized command line option "-Wno-missing-field-initializers" cc1: error: unrecognized command line option ...阅读全文

对比C, java, go 递归计算fibonacci(40) 的性能

// fibonacci.c #include int main() { printf("%d", fibonacci(40)); } int fibonacci(int n) { if (n < 2) { return 1; } return fibonacci(n - 2) + fibonacci(n - 1); } 编译: CFLAGS="-march=corei7-avx -O2 -pipe" && gcc fibonacci.c 运行:time ./a.out 结果:165580141 real 0m0.977s user 0m0.975s sys 0m0.002s // Fibonacci.java public class Fibonacci { publi...阅读全文

博文 2014-10-04 19:26:30 ZhouJunhua

[翻译]编译器(2)-编译、转译和解释

文在此。 ————翻译分隔线———— 编译器(2)-编译、转译和解释 第一部分作为这一系列文章的介绍。 在第二部分,在真正深入到编译实际的步骤之前,我会对一些定义作一些概述。 编译 编译是直将编写的代码从一个语言翻译为另一个更低层级语言的过程。一个 C 编译器其实并不会直接输出机器码。而是将 C 代码翻译为汇编语言。汇编编译器获取这些内容编译为机器码。C# 和 Java 会翻译为字节码。字节码在虚拟机运行的时候才会被转换为机器码。 理解这其中的差异非常重要。 编译经常会伴随中间代码(IR)或中间语言的使用。汇编是一个很常见的中间语言。LLVM 的 IR 通常叫做 LLVM IR。C 也会作为中间语言出现。 转译 对照来说,转译是将代码从一个语言翻译到另一个同样层级的语言。例如将 Go 翻译为...阅读全文

博文 2014-10-09 16:19:55 mikespook

关于GO与FFmpeg结合的问题!

各位好,我想使用Go语言结合FFmpeg将视频格式进行转换,我不太想用命令的方式去搞。 请问有大家都是怎么做的?是可以结合ffmpeg编译好的模块实现吗? 我用命令行也发现有问题,如下: cmd := exec.Command("ffmpeg","-y","-i ", spath , "-vcodec copy","-acodec copy" ,dpath) 结果不行,一直在报错误,请问命令行大家如何使用的...阅读全文

Golang SQL Server 数据库 stmt使用

使用的包”code.google.com/p/odbc” 数据库连接语句 conn := "driver={SQL Server};SERVER=" + dataaddr + ";UID=" + user + ";PWD=" + pass + ";DATABASE=" + dataname Db, dberr = sql.Open("odbc", conn) 创建的Db 其实是一个连接池,每次操作数据库的时候都会创建一个与数据库的连接。所以若断网一会之后,再执行查询后连接断开 ,其实会自动重联的。 数据操作 1、查询 方法一:预编译 stmt, errs := Db.Prepare("select * from tbl where col=?") defer stmt.Close() row...阅读全文

博文 2016-02-06 11:00:02 xia_xing

[Golang]如何在golang程序中自动获取编译时间

在程序发布之后,经常需要识别程序的版本号,来确定一些问题是否因为程序未更新造成的,其中通过在程序启动日志中输出编译时间是最有效方法。 在golang中没有C语言__FILE__,__LINE__,__DATE__,__TIME__这些好用的编译期常量给我们使用,好在golang提供了强大的cgo在go代码中嵌入C代码的方法,可以实现这个需求。 废话不多说,直接上代码: package main /# const char* build_time(void) { static const char* psz_build_time = "["__DATE__ " " __TIME__ "]"; return psz_build_time; } #/ import "C" import ( "fm...阅读全文

博文 2017-02-09 16:53:48 ally2014

main包不同文件的无法相互调用的原因?

main包不同文件定义的方法及常量无法相互调用,不是main包就行 ``` package main import "fmt" const( Const1 = "1" Const2 = "12" Const3 = "123" Const4 = "1234" ) var( str1 string = "str1" ) func Test() { fmt.Println("Test") } ``` ``` package main import () func main(){ Test(); fmt.Println(Const4 ) fmt.Println(str1) } ``` 无法编译说找不到Test()方法\常量Co...阅读全文

传智go语言快速入门教程

微信号:new_video qq号码:2381392963资料来源网络,仅供学习使用,请勿传播。如有侵权,请联系删除。 课程介绍: Go语言(或称Golang)是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产效率,Go语言专门针对多处理器系统应用程序的编程进行了优化, 可直接编译成机器码,不依赖其他库,...课程截图...阅读全文

博文 2019-10-22 23:33:04 aside section._1OhGeD

Google Chrome浏览器怎么由英文语言改成中文版

Google Chrome是由Google开发的一款设计简单、高效的Web浏览工具。Google Chrome的特点是简洁、快速。GoogleChrome支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,Google Chrome基于更强大的JavaScript V8引擎,这是当前Web浏览器所无法实现的。一、下载官方正版Google Chrome在介绍扩展之前首先需要有Google Chrome,但是网上有很多都是经过修改的,需要下载官方正版只能到Google Chrome的官网中。64位和32位都有下载。不过需要×××下载。二、修改Google Chrome语言1、首先点击右上角的“三点”进入,然后点击Sett...阅读全文

博文 2018-11-25 00:35:13 九江老俵

golang走起(三)list简单使用和interface{}

golang走起(三)list简单使用和interface{} 代码如下: package main import ( "container/list" "fmt" ) type Person struct { age int } func main() { l := list.New() for i := 0; i < 5; i++ { p := Person{age: i * 10} l.PushBack(p) } for i := 5; i < 10; i++ { l.PushBack(i) } i := 0 // 遍历 for v := l.Front(); v != nil; v = v.Next() { if i > 4 { c := v.Value.(int) fmt.Prin...阅读全文

博文 2016-04-18 18:00:05 zjp114695092

Golang、Python中刷直播视频弹幕的功能。

别人需要做这个功能,开始用易语言实现,发现被编码的问题绕到坑底了,ANSI-UTF8 ,gb323-uft8 ansi到un等等,做到最后也没有完成,因为做一个程序顾客的要求有时候很苛刻,有的甚至需要几个小时完成。 因为这个APK,是新版本的,我曾经研究了几百个APK,也反编译了上百个SWF,研究过上百个JS加密的,所以非常懂得这些东西套路,目前SO库加密的比例很几年前的20%急剧上升到目前的90%,也就是说,反编译上基本上是一条不归路、也是一条血路。 APK从以前的DEX文件到反编译的JAVA代码,到SO库跟踪调试dump,再到修改smail代码,再到反射HOOK注入,再到当前的内存截流等等,方法一波接一波,但是APK从加固、到反调试,再到校验等等,也是防止方法一重接着一重。 SWF的反编...阅读全文

博文 2017-03-31 02:00:24 大洋的顶端

go programming language(1)

go语言的特征 1. 用很简单的语法支持并行编程 2. 部分的更加规范编程风格,比如大小写等 3. go的编程哲学,精炼包容 怎么安装go。 每一个语言都要一个编译器,所谓的安装语言就是安装这个编译器。 下载了source code也是用C语言写的,不清除能否实现超越C的梦想,不过早期的C++做得更过分,先编译成C,相比这还是进步很多,后来为了安装方便还是下载了bin安装,花费了一百多M的空间。 Create a file named hello.go and put the following program in it: package main import "fmt" func main() { fmt.Printf("hello, world\n") } Then run it w...阅读全文

博文 2014-10-11 09:00:00 wangeen

用go build 编译文件时报错

我用go build指令编译文件是提示以下错误 GetFileAttributesEx store.go: The system cannot find the file specified. 而我的指令是在sorter.go所在的目录中执行的 sorter.go中的内容如下: ```go package main import ( "flag" "fmt" ) var infile *string = flag.String("i", "infile", "File contains values for sorting") var outfile *string = flag.String("o", "outfile", "File ...阅读全文

golang新版本对于cgo支持的一个坑

文件test.h如下 #ifndef _TEST_H #define _TEST_H #ifdef __cplusplus extern "C" { #endif extern void myTest(); #ifdef __cplusplus } #endif #endif 文件test.cc如下 #include "_cgo_export.h" extern "C" { void myTest() { test(); } } 文件test.go如下 package test /* #include "test.h" */ import "C" import () func Test() { C.myTest() } //export test func test() { println(...阅读全文

博文 2015-06-17 20:17:42 HopingWhite

Golang 在 Mac、Linux、Windows 下如何交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序 Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go Linux 下编译 Mac 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go Windows 下编译 Mac 和 Linux 6...阅读全文

golang源码安装

cd $HOME hg clone -u release https://code.google.com/p/go (速度太慢,最好是直接下载源码包) cd go/src ./all.bash (编译当前平台的go) CGO_ENABLED=0 GOARCH=arm GOOS=linux ./make.bash (编译针对arm平台的go) cd ../bin go tool 编写一个"Hello World!",把它以arm平台编译出来: CGO_ENABLED=0 GOARCH=arm go build hello.go 或者 export GOARCH=arm go build hello.go 再用adb push把hello放到/tmp/目录下: adb push hello /t...阅读全文

博文 2015-11-05 23:00:01 hechaoyuyu

DevOps专题|Lua引擎打造超轻量级客户端

Lua 作为一门轻量级脚本语言,源码使用标准C语言发布,语法简洁,非常适合嵌入式、客户端、游戏等场景。 Lua引擎语言特点 轻量级 源码简单,以lua最新版5.3.5为例,加上lua自身提供的lib库,仅30多个.c文件,编译后仅200多k,strip后经upx压缩,可控制在100k以下。 语法简洁 小巧灵活,支持闭包,有GC机制,通过语法糖可实现面向对象编程,提供了通用类型table,可实现数组、map和对象。 支持多平台 lua语言本身和lib库由标准C语言编写,可在windows、*nix等各种环境编译运行。 易扩展 lua提供了易用的扩展接口机制,和C相互调用非常方便。 Lua引擎应用场景 嵌入式 运行环境苛刻,对CPU、内存等资源占用情况有严格限制 游戏及客户端 对性能敏感,功能更...阅读全文

博文 2019-12-12 19:32:43 京东云技术新知

[go语言]初学者需要注意的问题-map

1.直接对map对象使用[]操作符获得的对象不能直接修改状态 package main func main() { type person struct {age int} m := map[string]person{"steve":{10}} m["steve"].age = 100 // 编译错误:cannot assign to m["steve"].age } 2.通过查询map获得的对象是个拷贝,对此对象的修改不能影响原有对象的状态 package main func main() { type person struct {age int} m := map[string]person {"steve":{10}} p := m["steve"] p.age = 100 // ...阅读全文

博文 2014-10-29 14:21:58 stevewang

revel提示program too big to fit in memory

在使用revel new xxx新建项目的时候一直提示这个,内存是肯定够用的。 系统是win8.1 32位64位均不行 求解 = = PS:在编译revel的时候提示安装了NTVDM, (NT Virtual DOS Machine,Windows 16位虚拟机的一部分,该进程用于使16位的进程能够运行在32位的系统环境下),不知是不是误判定程序为16程序了...阅读全文

Go语言指针编译速度的影响

自 http://golangtc.com/t/55fa90a5b09ecc7a420000a4 这段代码的编译时间,他的编译时间非常非常的长,非指针,至少我用了十几秒的时间,公司的老电脑 package main type BigData [1024*1024*1024]int64 func f(data BigData) { } func main() { var data BigData f(data) } 这段代码的编译时间 几乎可以瞬间编译完成,使用了指针 package main type BigData [1024*1024*1024]int64 func f(data *BigData) { } func main() { data := new(BigData) f(dat...阅读全文

博文 2015-09-22 03:00:01 rumia

Go语言:编译其他系统的可执行程序

Golang 支持在 不同平台 下生成 另一个平台 可执行程序 的 交叉编译功能 即:不同系统下的 可执行文件 1. Windows 编译其他平台: 编译 Mac: SET GOOS=darwin SET GOARCH=amd64 go build main.go 编译 Linux: SET GOOS=linux SET GOARCH=amd64 go build main.go 2. Mac 编译其他平台: 编译 Windows: GOOS=windows GOARCH=amd64 go build main.go 编译 Linux: GOOS=linux GOARCH=amd64 go build main.go 3. Linux 编译其他平台: 编译 Windows: GOOS=win...阅读全文

博文 2019-05-28 21:34:45 海东总司

id、NSObject *、id、instancetype分别如何使用?

在使用Objective-C语言进行iOS应用开发的时候,常常会涉及到id、NSObject *、id、instancetype这四个概念的使用,但这四者也是iOS初学者最易混淆的内容,下面小编看了一些iOS开发教程和文档,搜罗了他们的不同用法,分享给大家,一起来看看吧。 1、 id 与 NSObject * (1) id 是 Objective-C 对象,但是并不一定是NSObject对象,并非所有的Foundation/Cocoa对象都是继承于NSObject对象的,比如NSProxy。同时,id与NSObject对象之间有很多的共同方法,比如retain与release等方法。更一步来说:所有的对象本质来说都是 id 类型的。 (2) 对于id来说...阅读全文

Django项目部署中的服务器安全详解

  跨站脚本安全保护(Cross site scripting protection)   跨站脚本攻击(XSS)通常发生于站点存储和使用不安全的内容,例如数据库里存储的用户内容是用户的脚本,这些脚本读取后未经处理便执行导致了网站的不安全。例如:     当var是来自用户类似于这样的内容:   'class1 onmouseover=javascript:func()'   这样就可能导致浏览器执行不安全的脚本。为了避免这类问题,Django的模版有一些自动过滤特殊字符的机制,类似于 ‘<’和>’之类的字符都会被过滤。如果你确定某些内容是完全安全的,不是来自用户的非法输入,想展示在...阅读全文

Repustate从Python迁移到Go,性能提高10倍

Repustate向世界各地的企业和组织提供文本分析服务。随着公司的发展,他们每天处理的文本段数量从5亿增加到10亿,其中包括Tweet、新闻文章、博客评论、用户反馈等。大规模的文本分析非常困难,因为很少会出现两段文本完全相同的情况,所以无法利用缓存来提高效率。不过,它可以将大段的文本分成多个句子,然后并发分析每个句子。近日,Repustate官方博客发表了一篇博文,介绍其API的演进过程。 Repustate API的第一个版本是用Django编写的。他们构建了一个原型,并以此为基础推出了他们的服务。但每个Django请求/响应周期的开销太大。随着API访问量增加,可靠性问题凸显,使用Amazon服务的成本也大大增加。于是,他们开始寻找一种Python代替方案,并选择了Flask。Flas...阅读全文

博文 2015-09-25 17:08:05 谢丽

2018-08-23

今天是整点写的23号的日记了终于赶上了进度我要跟懒癌和拖延症好好的斗一斗今天的账单还没有录入等下录好了今天早上喝的是自己煮的小米红枣粥哈哈哈还是挺好喝的没有放糖也是甜甜的据说这个对胃好之前本来是买来准备给那谁送个把月结果呢哎 不提了往事不堪回首今天估计她又有任务了往我们室跑了好多趟哎真心不想听到她声音不想看到她的脸我现在已经刻意的不去看她刻意的不去听她的声音希望她别太介意我也是想决断但是我现在因为买房考试这些问题不能离职买房这事这周六终于可以有个结果了成不成就看了想一想以后要背的房贷就心塞塞算了 先上车这个也不会亏了本来之前想追回来写两个人的名字结果呢造化弄人了一切都是没有缘分不去想不去问不去做感动自己的事情了加油做好自己做一个自己喜欢的人上午一杯黑咖啡提神下午一壶柠檬水+黑咖啡总之呢在公司...阅读全文

博文 2018-08-24 00:34:59 TheOne_WuX

昨天写了个下载指定 tumblr 博客中的图片和视频的项目,老司机还等什么 ?

# go-tumblr-crawler Easily download all the photos/videos from tumblr blogs. 下载指定的 Tumblr 博客中的图片,视频。golang版本。 ## 配置和运行 配置需要爬取的站点: `sites.json` ps: 站点不需要 `.tumblr.com` 后缀 ``` [ { "site": "truenorthshow", "video": true, "photo": true }, { "site": "photosbygerardo", "video": true, "photo": true } ] `...阅读全文