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

Linux下使用-static -lpthread静态编译出现段错误(Segmentation fault)

发自:https://blog.csdn.net/godmaycry/article/details/78718399最近在看golang,感觉go的静态编译思想很不错。于是准备把手头的几个项目静态编译一下,结果编译的时候没报任何警告及错误,一运行就报段错误(Segmentation fault)。gdb逐步调试,发现问题出在std::thread那里。仔细检查了下所有语法,没发现任何问题。关键是动态编译一切正常,加了-static静态编译就会出现这个问题。Google才发现这是一个bug,std::thread Segmentation fault static linking解决方案有两个:1.参数加上-Wl,--whole-archive -lpthread -Wl,--no-whol...阅读全文

博文 2020-05-29 11:34:13 liugensite

初识GoLang

1、概念 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 2、特点 简洁、快速、安全 Go语言语法简单易学、学习曲线平缓,相比于C/C++,Go语言具有很高的开发效率。 并行、有趣、开源 Go语言为高并发而生。 代码风格统一,便于阅读。 Go语言使用go fmt,统一格式化代码。 3、安装 下载地址 下载对应平台下的文件,使用下一步安装法。 image.png ...阅读全文

博文 2020-01-27 13:32:41 kjkongjun

从filebeat dns解析失败到alpine兼容性和go内部dns实现

最近一周都在解决filebeat dns解析失败的问题。filebeat通过daemonset方式部署在k8s集群中,从而收集整个主机pods的日志。在主机os为centos7.4 的版本集群中,没有任何问题。但是os为centos7.6的集群中,却出现了解析dns失败,导致日志无法发送到kafka集群。 查看filebeat错误日志如下: Failed to connect to broker sg.main2.kafka.metis.service:9092: dial tcp: lookup sg.main2.kafka.metis.service: Try again 于是开启了debug过程,首先怀疑是coredns出了问题,去exec到pod中进行dig。 dig @[10.24...阅读全文

博文 2020-01-13 19:32:40 iyacontrol

github-webhook工具实现github自动构建

理 当本地git push origin master向Github远程仓库提交代码时,可以通过配置github自带webhook向服务器发送请求,利用github-webhook工具在服务器端接到请求后,调用自定义shell脚本来实现自动构建 github-webhook 文档 更多详情文档 github.com/yezihack/gi… 使用github-webhook 源码: github.com/yezihack/gi… 别忘记点个小星星哦. 1. 下载github-webhook工具 github.com/yezihack/gi… github release下载太慢, 试试这个 wget http://img.sgfoot.com/github-webhook1.4.1.linu...阅读全文

博文 2020-04-26 00:34:23 百里江山

搭建golang开发环境

cd /www/server && yum install -y wget && wget -O golang.tar.gz https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz tar -xzvf golang.tar.gz wget -O profile.txt https://lowvps.cn/wp-content/uploads/2019/05/profile.txt cat profile.txt >> /etc/profile source /etc/profile mkdir /www/wwwroot/Golang echo -e "----------------------------------------------...阅读全文

博文 2019-11-27 02:02:49

Golang交叉编译

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 Wind...阅读全文

Go工具和调试详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/happyAnger6/article/details/78724594 工具集 go build -gcflags: 传递给编译器的参数 -ldflags: 传递给链接器的参数 -work: 查看编译临时目录 -race: 允许数据竞争检测(仅支持amd64) -n: 查看但不执行编译指令 -x: 查看并执行编译命令 -a: 强制重新编译所有依赖包 -v: 查看被编译的包名,包括依赖包 -p n:并行编译所使用的CPU数,默认为全部 -o:输出文件名 gcflags: -B 禁用边界检查 -N 禁用优化 -l 禁用函数内联 -u 禁用unsafe代码 -m 输出优化信息 -S 输出汇编代码 l...阅读全文

博文 2019-03-06 10:31:03 happyAnger6

Go 语言环境安装

Go 语言环境安装 Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Window 安装包下载地址为(go语言环境配置安装包下载安装教程): https://golang.org/dl/ 各个系统对应的包名: Go 语言环境安装 UNIX/Linux/Mac OS X, 和 FreeBSD 安装 以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法: 1、下载源码包:go1.4.linux-amd64.tar.gz。 2、将下载的源码包解压至 /usr/local目录。 tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz 3、将 /usr/local/go/bi...阅读全文

golang环境安装

环境安装 源码安装go 1.下载go安装包源码 到 https://golang.org/dl/ 选定自己想要安装的 go 版本,使用如下命令下载 go 源码。 wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz 2.解压到(目标目录,可以可以自己指定) tar -zxvf go1.10.3.linux-amd64.tar.gz -C ~/src 3.配置~/.bashrc(对应步骤 2 中的目标目录) export GOPATH=~/GoWorkspace export GOROOT=~/src/go export PATH=$GOROOT/bin:$GOPATH/bin:$PATH 4.查看当前 go 版本 ~$ go ve...阅读全文

博文 2019-08-08 22:32:59 7点1刻

2.安装

安装Go语言及搭建Go语言开发环境 注意:Go语言1.14版本之后推荐使用go modules管理以来,也不再需要把代码写在GOPATH目录下了,之前旧版本的教程戳这个链接。 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 版本的选择 Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。 下图中的版本号可能并不是最新的,但总体来说安装教程是类似的。Go语言更新迭代比较快,推荐使用较新版本,体验最新特性。 download1 安装 Windows安装 此安装实例以 64位Win10系统安装 Go1.14.1可执行文件版本为例。 将上一步选好的安装包下载...阅读全文

博文 2020-04-03 20:32:58 雪上霜

Golang系列之Go语言入门(一)

序列-Go语言来源 Golang是一门年轻而有活力的语言,2007年Robert、Rob和Ken 在Google开发,于2009年正式发布; Go语言的初衷:作者们希望能使复杂的、高效系统的编写变得简单、可靠;同时也期望Go能成为一个相对通用的编程环境,推崇少即是多的概念、 Go编程语言(或称--golang),是云计算时代下的C语言,Docker、Kubernetes、Etcd等都是由Golang完成的,经过数年不断的改进,Go语言本身在开发效率和程序运行效率方面又提升了无数个台阶。 Go语言环境搭建 part 1. Win下面环境搭建 : 下载golang,选择windows的版本 ,下载地址 https://studygolang.com/dl 下载完成后,解压到本地目录,然后配置环境...阅读全文

Why are packages imported into file scope instead of package scope? Why is file scope a thing at all?

<p>This really doesn&#39;t make sense to me. Go does not let me use a package imported within the same package if the import occurred in another file. However, I am free to use variables between files in a package.</p> <p>This does not make sense to me. I could see eliminating file scope entirely, or reversing the behavior, s...阅读全文

I often see people refer to Go as a new language with a budding ecosystem. What are some projects or libraries that are missing?

<p>I see people complain that Go is still too new or too small. What are some tools/libraries/projects that other languages have that Go is missing? What needs to happen for Go to be considered a language with a robust and thriving ecosystem?</p> <hr/>**评论:**<br/><br/>brokedown: <pre><p>Go is mature and rob...阅读全文

1. 介绍与安装

1. 介绍与安装 Golang 是什么 Go 亦称为 Golang(按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言。 Golang 的主要关注点是使得高可用性和可扩展性的 Web 应用的开发变得简便容易。(Go 的定位是系统编程语言,只是对 Web 开发支持较好) 为何选择 Golang 既然有很多其他编程语言可以做同样的工作,如 Python,Ruby,Nodejs 等,为什么要选择 Golang 作为服务端编程语言? 以下是我使用 Go 语言时发现的一些优点: 并发是语言的一部分(并非通过标准库实现),所以编写多线程程序会是一件很容易的事。后续教程将会讨论到,并发是通过 Goroutines 和 channels...阅读全文

博文 2019-08-28 11:32:52 泷汰泱

新装Linux操作系统后,要保留哪些自启动服务?

和Windows系统一样,Linux服务器运行过程中也会一些没用的软件服务默认运行,这些占用了很多系统资源,也会有安全隐患,所以一般是建议关闭的。那么,工作中Linux主机到底需要有哪些开机自启动服务呢? 新装Linux系统之后,有必要保留的开机自启动服务有5个: Ø sshd:远程连接Linux服务器时要用到,所以必须开启,不然就无法提供远程连接服务了。 Ø rsyslog:日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中。 Ø network:系统启动时,如果想激活或关闭各个网络接口的话,可以考虑开启。 Ø crond:用于周期性的执行系统及用户配置的任务计划。有需要时开启。几乎是运维工作中必须要用的一个软件。 Ø sy...阅读全文

博文 2019-11-15 16:40:15 zhouzhou2018

编译

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 Wind...阅读全文

博文 2020-02-03 19:32:41 风亡小窝

Go 编程: 那些奇怪的注释

自从上篇总结了一下Go 编程: 交叉编译 vs 条件编译之后,觉得有必要对于类似条件编译标签等特殊注释做一次简单收集。 原文发布于个人站点: GitDiG.com, 原文链接: Go 编程: 那些奇怪的注释 1. 常规注释 每种开发语言都有自己的注释语法和格式,也大多类似。 Go 语言和市面上其它多种高级语言的注释语法也类似,主要有以下两种语法格式: 注释行 以符合 // 开头 注释块 以符号 /* 注释内容 */ 包括 通常情况下, 对外公开的包、函数、常量、变量均需要进行注释。代码是否注释完全,可以通过lint工具进行审查。不了解的话,可以参考像 Awesome-Go 一样提升企业 Go 项目代码质量一文。 但是,以上也就仅仅是正常情况。在很多特殊情况下,一些看似符合以上注释语法的地方,...阅读全文

每天一点GO语言——Linux环境下安装Go语言环境以及编写Go语言程序初体验

每天一点GO语言——Linux环境下安装Go语言环境以及编写Go语言程序初体验 一、安装Go语言环境 [root@localhost opt]# yum -y install wget git [root@localhost opt]# wget -c https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz [root@localhost opt]# tar -zxvf go1.10.3.linux-amd64.tar.gz [root@localhost opt]# ls go go1.10.3.linux-amd64.tar.gz nginx-1.16.1 rh share_Ubuntu18.04 [root@local...阅读全文

博文 2020-04-01 11:33:52 wx5d8a17c45cb5b

go 的介绍与安装

1. 介绍与安装 Golang 是什么 Go 亦称为 Golang(按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言。 Golang 的主要关注点是使得高可用性和可扩展性的 Web 应用的开发变得简便容易。(Go 的定位是系统编程语言,只是对 Web 开发支持较好) 为何选择 Golang 既然有很多其他编程语言可以做同样的工作,如 Python,Ruby,Nodejs 等,为什么要选择 Golang 作为服务端编程语言? 以下是我使用 Go 语言时发现的一些优点: 并发是语言的一部分(并非通过标准库实现),所以编写多线程程序会是一件很容易的事。后续教程将会讨论到,并发是通过 Goroutines 和 channels...阅读全文

博文 2019-04-03 18:35:08 听砜

golang交叉编译

Linux系统下编译Windows64位系统、Mac系统可执行程序 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go Mac系统下编译Linux系统、Windows64位系统可执行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go Windows系统下编译Linux系统、Mac系统可执行程序 SET CGO_ENABLED=0 SET GOOS...阅读全文