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

把别人的Tcl/Tk代码加入到Go语言里1

a 首先打开网页 http://wiki.tcl.tk/12977 b 把网页了提到的代码复制到go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里run ,运行效果如...阅读全文

博文 2015-05-01 14:00:01 名字不能长

docker中安装gogs服务

大家好,之前有发布过一篇gitlab安装在docker的文章,可能由于系统环境的差异,很多人向我反馈安装失败了。为了解决大家的问题,我重新写了一篇文章,更换了git所使用的service服务器端软件。下面我先介绍一下这个service服务器端软件。Gogs 是一款使用golang编写的轻量的、开源的、自助式Git托管服务。其功能与 github 及 gitlab 比较相似,不过gogs的部署要比前者简单的多,而且其功能也比较轻量。它是用 Go 语言写的,能兼容各个系统。它能运行于 Windows,MAC,Linux,ARM 等。同事gogs也是目前我所见过的所有git service中安装最简单的了。下面介绍下安装方法:一、创建containergogs的web端口是3000是,所以我创建c...阅读全文

博文 2017-07-14 06:06:37 jevian

Go1.11 module 简明使用指南

Go Mod 命令 download download modules to local cache (下载依赖的module到本地cache)) edit edit go.mod from tools or scripts (编辑go.mod文件) graph print module requirement graph (打印模块依赖图)) init initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件)) tidy add missing and remove unused modules (增加丢失的module,去掉未用的module) vendor make vendored co...阅读全文

博文 2019-01-23 11:34:45 柳浪闻笛

golang validators 对 Struct 的字段校验

1、需求: 有时我们需要对接收到的struct字段内容进行验证,比如: type Student struct { Uid int64 Name string Age int64 Sex string Email string } 我们需要对结构体内的字段进行验证合法性: Uid的值在某一个范围内 Name值的长度在某一个范围内 Sex的值符合男或女 Email格式正确等等 2、安装: go get github.com/smokezl/govalidators 3、先来个简单例子,通过golang的structTag来配置验证器: type Class struct { Cid int64 `validate:"required||integer=10000,_"` Cname strin...阅读全文

博文 2019-08-02 21:32:42 LLL_小浪

golang 使用 protobuf 的教程

1、下载protobuf的编译器protoc 地址: https://github.com/google/protobuf/releases window: 下载: protoc-3.3.0-win32.zip 解压,把bin目录下的protoc.exe复制到GOPATH/bin下,GOPATH/bin加入环境变量。 当然也可放在其他目录,需加入环境变量,能让系统找到protoc.exelinux: 下载:protoc-3.3.0-linux-x86_64.zip 或 protoc-3.3.0-linux-x86_32.zip 解压,把bin目录下的protoc复制到GOPATH/bin下,GOPATH/bin加入环境变量。 如果喜欢编译安装的,也可下载源码自行安装,最后将可执行文件加入环境...阅读全文

博文 2018-09-05 13:30:01 itevol

macbook 下安装Goglang 以及安装svn插件所遇到的问题

新入手了一个Macbook pro,打算重新配置下自己的开发环境,老的mac毕竟硬盘太小了,所以这次换了个1T的,好了闲话不说了,主要记录下我在安装idea系列产品中遇到的问题和解决办法。 安装JetBrains的Gogland产品,下载,安装,很顺利,没毛病。 因为公司是使用svn来管理代码的,所以必须使用svn插件,这时候问题来了: 因为官方下载的subversion插件,只支持1.8,而新的os x默认安装svn的是1.9.4,而且不知道是网络原因还是其他什么原因,subversion一直就下载不了。 然后我从我的win下,把对应的插件包,svn4idea和svntoolbox全部给复制到mac上,这个地址一般在C:\Users\Administrator\.Gogland1.0\co...阅读全文

博文 2017-08-13 05:35:00 阿修罗王

go语言 Hello World

go语言是google发布的编程语言,已经有了第一个正式版本 go编译速度很快,是编译型语言 hello.go package main import "fmt" func main() { fmt.Printf("Hello,World!") }运行结果: package main 是指go文件的开头标志 import "fmt" I/O库,是将fmt库加载到文件中来 func main() go程序执行的第一个函数 fmt.Printf fmt库中的输出语...阅读全文

博文 2014-10-04 19:26:02 chuangrain

初识GO语言——安装Go语言

本文包括:1)安装Go语言。2)运行第一个Go语言。3)增加vim中对Go语言的高亮支持。 1、安装Go语言 本文采用源码安装Go语言,Go语言的源代码在百度网盘 http://pan.baidu.com/s/1mguZqhM 1.1、修改环境变量 编辑文件~/.bashrc vim ~/.bashre 在文件最后添加如下代码 # about go language export GOROOT=$HOME/go export GOARCH=386 export GOOS=linux export GOBIN=$HOME/bin 1.4、解压 tar xzf go1.3.3.linux-386.tar.gz $ls go go1.3.3.linux-386.tar.gz 1.5、把go目录移动...阅读全文

博文 2015-03-07 03:00:00 fengbohello

Go语言从入门到精通-03 | 复杂数据类型

有的时候基本的数据类型可能不能满足我们开发的需求,我们可能需要一些数据类型的组合。比如我们要把一个班级里面所有人的平均成绩存在一起,然后计算整个班级的平均成绩。大家想一下,这种情况下应该用什么类型的变量? 数组 接着上面我们举的例子,如果要计算平均成绩怎么办呢?这就用到了数组的概念。数组从字面上理解就是一组数,它是指类型相同的一组数。这组数在内存中是顺序存储的,因此,我们可以通过数组名字的索引来访问其中的数据,而不同定义多个变量。 图1 数组内部结构示意图 如图1是数组内部结构的示意图,我们可以通过数组的索引访问数组内部的数据。通常数组的索引是从0开始的,0表示第一个元素。下面我们给出一个Go语言的具体示例: 上面数组数量,如果有初始化的情况下可以不必指定大小,此时编译器会根据初始化的数据数...阅读全文

博文 2019-03-21 15:35:14 qq5c822f9bb7f5c

go语言

Go 语言环境安装 下载 go语言直接下载下载不动,我先下载了Lantern,安装完Lantern 后会自动打开浏览器 然后把要下载的go(https://golang.org/dl/)语言地址复制到lantern 所在的地址下载就可以下载了。 安装 双击运行安装程序 点击next ,选择安装路径,最后安装完成。 配置环境变量 “新建”系统变量:设置变量名GOROOT,变量值D:\Soft\Go(安装目录) 修改系统变量Path,添加D:\Soft\Go\bin 通过cmd查看是否安装成...阅读全文

博文 2017-12-18 11:01:02 yanzi9016

vim+go配置

安装好go后,需要先设置如下环境变量: GOROOT:Go的安装目录 GOPATH:用于存放Go语言Package的目录,这个目录不能在Go的安装目录中 GOBIN:Go二进制文件存放目录,写成%GOROOT%\bin就好 1,安装gocode,设置自动补全代码。 go get -u -ldflags -H=windowsgui github.com/nsf/gocode,如果成功,GOBIN目录下会有gocode.exe文件,GOPATH 下会有src\github.com\nsf\gocode目录。vim安装目录中的_vimrc文件添加 filetype plugin indent on syntax on 此时Ctrl+P组合键即可唤出补全代码提示。 2,设置golang语法高亮。 下...阅读全文

博文 2016-09-04 09:00:02 qu_tao

go项目make

1,go下载安装 这里写链接内容 2,编译顺序。 先source base 后source devtools 3,导入到path方法 export PATH=/bin:$PATH $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); ...阅读全文

博文 2016-02-26 19:00:01 guoer9973

把别人的Tcl/Tk代码加入到Go语言里13 游戏6 消除方块

a 首先打开网页 http://wiki.tcl.tk/10287 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如...阅读全文

博文 2015-05-13 16:00:06 名字不能长

把别人的Tcl/Tk代码加入到Go语言里5 柱形图

a 首先打开网页 http://wiki.tcl.tk/13680 b 把网页里提到的每一段代码复制到go源代码的init_script字符串常量里 【注意,直到最后一段代码结尾是 bind . {exec wish $argv0 &; exit} 如果我没数错的话一共是7段代码,前面是6个proc代码段, 最后一段代码里倒数2行代码可以去除掉】 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里run ...阅读全文

博文 2015-05-01 15:00:06 名字不能长

把别人的Tcl/Tk代码加入到Go语言里8 游戏1 trains火车【这货很长很长】

a 首先打开网页 http://wiki.tcl.tk/1359 【trains3.tclUpdated 2012-12-09 19:44:49 by pooryorick】 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如下 【这700行代码的游戏画面简略抓了7张风景,没把...阅读全文

博文 2015-05-13 16:00:07 名字不能长

Golang select常见用法

go语言的select和poll有点类似,监听多个channel,当channel上可读时,执行对应的操作。基本用法: ch1 := make(chan bool) ch2 := make(chan bool) ..... for { select { case <-ch1: case <-ch2: default: } } 要注意的时,select和switch有点类似,但select的case后只能是IO操作。上述程序的执行过程是这样的,程序进入select后,如果没有case中的channel可读,则阻塞,直到有channel可读;如果仅有一个channel可读,则执行这个case;如果有多个channel可读,则随机公平地选出一个case执行,其他不会执行。 在写程序时一个非常典型的...阅读全文

博文 2017-07-26 13:06:45 chnmagnus

把别人的Tcl/Tk代码加入到Go语言里10 游戏6 消除方块

a 首先打开网页 http://wiki.tcl.tk/10287 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如...阅读全文

博文 2015-05-13 14:00:04 名字不能长

Golang里调用C

Golang里调用C 2010-04-18 13:21:28| 分类:积累 | 标签:|字号大中小 订阅 Golang调用C分两个步骤:1 写一个C的wrapper,这个很简单;2 对wrapper做编译,这个步骤有点复杂,而且涉及众多中间文件。应该是有办法用自动化的工具简化这个过程的。 先来展示一下C程序。为了将描述集中在如何调用上,C的程序很简单: prints.h #ifndef PRINTS_HEAD void prints(char* str); #endif prints.c #include "prints.h" #include void prints(char* str) { printf("%s\n", str); } 之后是Golang对C的一个wr...阅读全文

博文 2015-06-17 20:02:16 x_focus

把别人的Tcl/Tk代码加入到Go语言里14 游戏7 行星游戏

a 首先打开网页 http://wiki.tcl.tk/13601 b 把网页里提到的第一段tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如下 小飞机的控制: Left Arrow - rotate CCW Right Arrow - rotate CW Up Arrow - Thrust S...阅读全文

博文 2015-05-13 15:00:07 名字不能长

学习编程的25个“坑”,你踩到了吗?

学习编程的过程中可能会遇到“25”个“坑”,不仅初学者可能中招,专业人士有时也难以逃脱,我自己也毫不例外。0. 忽视了编程终究是以人为本的。是的,机器的确会执行你的代码,但编程是为人们解决问题的,将他们的需求转换为由其他人(或你自己线下)读取,维护和修改的代码。1. 未能花充足的时间练习编程。 根据工作或日程安排,你可能会花费大量时间在与编程相关的任务上,但实际上这些并非编程本身。2. 停留在你正在学习的某个技术的表面。 沾沾自喜于自己掌握了足够完成任务的基础知识,对技术的了解却只流于表面,未有触及核心内容。3. 在编程学习中挑挑拣拣,无法持之以恒。一开始学习Rails,半道儿你发现Phoenix也不错,哦,学点JavaScript吧,这样就能用Node.js 了......从TJ转到Go然...阅读全文

博文 2018-10-25 18:34:40 西安北大青鸟官微

把别人的Tcl/Tk代码加入到Go语言里11 游戏4 红心游戏

a 首先打开网页下载tcl/tk游戏源码http://sourceforge.net/projects/tkgames/files/latest/download?source=typ_redirect b 把压缩包里的tcl/tk源代码文件tkHearts-0.90用文本编辑器打开,并把所有内容 复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里...阅读全文

博文 2015-05-13 13:00:01 名字不能长

把别人的Tcl/Tk代码加入到Go语言里8 游戏1 trains火车【这货很长很长】

a 首先打开网页 http://wiki.tcl.tk/1359 【trains3.tclUpdated 2012-12-09 19:44:49 by pooryorick】 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如下 【这700行代码的游戏画面简略抓了7张风景,没把...阅读全文

博文 2015-05-13 08:00:01 名字不能长

把别人的Tcl/Tk代码加入到Go语言里14 游戏7 行星游戏

a 首先打开网页 http://wiki.tcl.tk/13601 b 把网页里提到的第一段tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如下 小飞机的控制: Left Arrow - rotate CCW Right Arrow - rotate CW Up Arrow - Thrust S...阅读全文

博文 2015-05-13 16:00:05 名字不能长

把别人的Tcl/Tk代码加入到Go语言里10 游戏5 画图案?

a 首先打开网页 http://wiki.tcl.tk/4206 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如...阅读全文

博文 2015-05-13 14:00:04 名字不能长

Mac OS 开发环境 Terminal 配置

Mac OS 开发环境 Terminal 配置 --- [TOC] ### Terminal 主题选择 Mac OS 内置主题已经很不错很好看,如果不满意系统自带主题,可以自定义配置。这里推荐下面的配置文件,下载下来,直接导入就好。 [https://github.com/chriskempson/tomorrow-theme](https://github.com/chriskempson/tomorrow-theme) ### Vim 配置.vimrc ```shell $ touch ~/.vimrc ``` 配置内容如下: ```shell syntax on " 自动语法高亮 "colorscheme molokai " 设定配色方案 "set nocompatible " 关闭 ...阅读全文

博文 2017-12-26 03:36:01 jzhongming

把别人的Tcl/Tk代码加入到Go语言里9 游戏2 可旋转的3D多面体

a 首先打开网页 http://wiki.tcl.tk/14283 【3D polyhedra with simple tk canvas Updated 2014-10-24 21:38:58 by ZB 】 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如...阅读全文

博文 2015-05-13 16:00:07 名字不能长

(双语)Go语言的更新也将难逃疫情影响

Go语言经常被称为“Golang”,是一门高效、易学、受到广泛应用和开发者喜爱的计算机编程语言。一般情况下,Go语言维持着半年发布一次更新的节奏。但是,随着疫情在世界范围内的发展,Go语言的更新也将受到影响。下面,我们就从英语原文来理解一下所受影响的情况,顺便了解一下相关的科技英语词汇。 As we face this pandemic together and do our part to stay home and contain the spread, many of Google's various projects are being forced to change their timelines, with Chrome being the prime example.【译】当...阅读全文

jvm垃圾回收算法

前言 java相较于c、c++语言的优势之一是自带垃圾回收器,程序开发人员不用手动管理内存,内存的分配和释放完全由gc(Garbage Collector)来做,极大地提高了软件开发效率及程序健壮性(手动管理内存容易造成内存泄漏)。凡事皆有两面性,java gc在给我们带来内存管理便捷性的同时,也面临STW(Stop The World)影响程序吞吐的缺陷。作为java开发人员,只有深入理解jvm垃圾回收的机制,才能在程序性能出现瓶颈时,更好的对程序进行优化。笔者通过拜读《深入理解java虚拟机》,总结书中内容,给大家分享下java虚拟机常见的垃圾回收算法。 垃圾确定 在垃圾回收之前,jvm需要确定哪些对象已死,即需要当做垃圾被回收。垃圾确认的方法传统的有引用计数法:用一个引用计数器来标记对...阅读全文

博文 2019-01-26 22:34:42 luckiexie

Golang中生成随机字符串并复制到粘贴板

前段时间在生活中偶尔需要对某些文件进行重命名,而且是随机名字,刚 开始是手动重命名然后在键盘上胡乱打一些字母数字,时间长了发现也挺麻烦的,于是想到能不能用golang实现这个功能并且自动把生成的字符串 复制到粘贴板,然后生成exe文件,要用的是直接鼠标双击就行。说干就干。 网上搜了些相关资料,于是写了出来。 安装必要的库 go get github.com/atotto/clipboard 代码实现 package main import ( "fmt" "github.com/atotto/clipboard" "math/rand" "strings" "time" ) var a = [...]string{"a", "b", "c", "d", "e", "f", "g", "h",...阅读全文

博文 2019-12-21 06:32:58 梅云罗

ubuntu eclipse 编写简单go语言

1、下载配置Golang,配置相关环境 一、现在地址:http://www.golangtc.com/download 我选择的是下面这个(64位,linux版) 二、配置环境 解压后在.bashrc中配置环境变量 2、配置gocode 默认情况下go的解压包里面没有gocode,所以我们需要安装一个,通过命令: ? 1 go get -u github.com/nsf/gocode 就可以在go的目录里看到了: 3、eclipse集成goclipse插件 goclipse(https://github.com/GoClipse/goclipse )是eclipse的一个go语言插件,可以在eclipse里面在线安装也可以下载,解压,将features和plugins目录里面的文件复制到ec...阅读全文

博文 2015-06-17 23:01:36 Java__Coder

golang中的xg作用

前面的文章里大概说过一些如何阅读xg的源代码的东西,但是后来由于太懒了,总是不想写一些很系统的东西,所以感觉还是把一些值得说的大概写一点,做个备忘。 事实上xg的通用的内容都被放在了src/cmd/gc里,而整个编译阶段最重要的东西就是go.y这个文件,因为这个是bison的语法定义文件。事实上go在编译阶段也只是将所有的内容按语法分析的结果放入NodeList这个数据结构里,然后export写成一个*.6(比如amd64的架构),这个.6的文件大概是这样子的: amd64 exports automatically generated from test.go in package "main" $$ // exports package main func "".main () var ...阅读全文

博文 2015-06-17 20:18:51 HopingWhite

2014.12最新hosts文件亲测可用google服务

在Ubuntu下同过下面命令修改,把下方数据复制到hosts的底部 sudo gedit /etc/hosts hosts代码在下方 127.0.0.1 localhost ::1 localhost fe80::1%lo0 localhost 255.255.255.255 broadcasthost 17.151.36.30 gs.apple.com 198.252.106.236 serve.netsh.org #Microsoft OneDrive 134.170.108.154 onedrive.live.com 134.170.104.90 onedrive.live.com 134.170.107.154 onedrive.live.com 134.170.108.26 one...阅读全文

博文 2015-06-17 20:05:19 Moriarty_221

Golang 复制版 Copier

Copier 是 Golang 的复制版,它从一个结构复制到了另一个结构。它具有以下特点: * 如果名字匹配,就从一个场景复制到另一个场景 * 如果方法名和场景名匹配,就从方法复制到场景 * 如果场景名和方法名匹配,就从场景复制到方法 * 从片复制到片 * 从结构复制到片 示例代码:

import . "github.com/jinzhu/copier"
type User struct {
    Name string
    Role string
    Age  int32}
    func (user *User) DoubleAge...阅读全文

把别人的Tcl/Tk代码加入到Go语言里12 游戏5 画图案?

a 首先打开网页 http://wiki.tcl.tk/4206 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如...阅读全文

博文 2015-05-13 16:00:06 名字不能长

golang讲解(go语言)标准库分析之string开篇

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; 今天我们继续讲golang标准库的string这个包,我选定这个是看了下别的包真的需要这个功能所以我们来这个包,string包实现了简单的函数方法来操作字符串。其中的type Reader很简单,因为会返回一个*Reader这就用到我们前边讲的io了,废话不多说进入正题 (1)func Contains(s, substr string) bool这个函数是查找某个字符是否在这个字符串中存在,存在返回true [php] import ( "fmt" "strings" ) func main() { fmt.Println(strings.Contains("widuu", "wi")) /...阅读全文

博文 2017-02-09 18:40:36 widuu

golang-raft算法理论与实践

前言 我计划写raft的一系列文章,包含从理论到代码实践,此文章依托于MIT的研究生课程。 背景 raft 是一种分布式的共识算法,其目的是要实现多个节点集群的容错性,一致性从而能够构建大规模的软件系统。 在raft之前,比较有名的是Paxos。但是paxos难于理解。 raft的诞生是为了让共识算法更容易理解,在工程上更容易实现。 和其他的共识算法不同的是,raft具有下面的特点: leader:raft中会有一个领导者具有超级权限,可以把自己的log 复制到其他节点中。 leader election: raft每隔一段随机的时间就会进行leader的选举 raft允许集群配置变化时正常运行。 Replicated state machine 状态机是分布式系统中的一个重要概念,任何一个...阅读全文

博文 2020-02-12 07:32:56 唯识相链2

把别人的Tcl/Tk代码加入到Go语言里9 游戏2 可旋转的3D多面体

a 首先打开网页 http://wiki.tcl.tk/14283 【3D polyhedra with simple tk canvas Updated 2014-10-24 21:38:58 by ZB 】 b 把网页里提到的tcl/tk代码复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里go run go代码文件,运行效果如...阅读全文

博文 2015-05-13 08:00:00 名字不能长

8:golang修复数据库文件(sql报错:database disk image is malformed)

思路: 1:导出sql语句到临时文件 2:修改tmp.sql文件(将最后一行的Rollback改为Commit;) 3:读取tmp.sql并写入到新库中 准备工作(三个文件) 1:sqlite3.exe(自行下载:https://www.sqlite.org/download.html) 2:read.sql(自行创建一个空的.sql文件) 3:dump.sql(自行创建一个空的.sql文件) 调用: DoRepair(DBPath, newDbName string) 方法定义: package repairTool import ( "bytes" "debian/ant/service/application" "fmt" "io" "io/ioutil" "os" "os/exec"...阅读全文

博文 2019-10-21 18:32:47 aside section._1OhGeD

把别人的Tcl/Tk代码加入到Go语言里11 游戏4 红心游戏

a 首先打开网页下载tcl/tk游戏源码http://sourceforge.net/projects/tkgames/files/latest/download?source=typ_redirect b 把压缩包里的tcl/tk源代码文件tkHearts-0.90用文本编辑器打开,并把所有内容 复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl/Tk源代码复制到这个常量里 ` func main() { ir := gothic.NewInterpreter(init_script) <-ir.Done } c 在LiteIDE里或命令行里...阅读全文

博文 2015-05-13 16:00:07 名字不能长

政府安全资讯精选 2017年第四期:聚焦美国网络安全新动态

摘要: , 摘要: Uber被指控侵犯用户数据,美科技公司建议对执法部门获取位置数据设更高门槛,欧盟《网络与信息安全指令》和GDPR将同时生效,美国商务部计划将三个网络安全项目迁移上云 d67f9d5f41f1d8068d9a791a9cc3f5fe6e4d228c 【安全事件】 Uber被指控侵犯用户数据 美政府要求接受20年隐私系统审核 点击查看全文 概要:美国联邦贸易委员会(下称FTC)经调查称,Uber失实报告了对雇员提取乘客和司机个人信息的监测程度,且未采取适当措施保护用户数据。FTC称,Uber甚至未采取低成本的防止入侵措施,例如要求工程师使用区分的密钥,或要求多重因素认证。此外,Uber还把地理位置等敏...阅读全文

zabbix检查硬盘S.M.A.R.T状态[go语言实现]

因为服务器比较多,以前都是喜欢用perl写程序,后来发现部署的时候还要安装perl环境,实在太麻烦了,所以改用go编程,把go编译发后,复制到服务器就可以运行,还真的挻方便的。 之前已经用go写了一个mysql 主从同步,检查从服务器是否出错的程序,如果同步出错就可以在zabbix里警告了,把mysql密码写到程序里,再编译,这样比脚本语言要安全很多,而且不用添加一个用户。 原因是这样的,有很多服务器,有很大一部分是普通硬盘,普通硬盘就很容易出问题,因为服务器上面没有办法做badblock 检查(太耗IO资源了),但是检查S.M.A.R.T状态可以提前预知硬盘故障,还是有点用,好过没有,对吧。 程序是基于linux的,window 改改也能用,主要是先检查/dev/sda…b…c…d 循环检...阅读全文

博文 2017-09-09 12:52:46 YiYou.Org

Go 包管理之module

Go Module 使用 Go Module 是官方用来管理 package 依赖的工具, 1.11 新加的, 使用时需要设置变量: GO111MODULE=on . go mod help 可以查看其帮助文档: $ go help mod Go mod provides access to operations on modules. Note that support for modules is built into all the go commands, not just 'go mod'. For example, day-to-day adding, removing, upgrading, and downgrading of dependencies should be d...阅读全文

博文 2018-11-27 23:34:41 jouyouyun

go语言学习笔记之slice用法

一、slice的概念: Slices(切片)slice是概念上一个结构包含三个域:一个数组的指针、长度和容量。切片支持[]操作符来访问底层数组的元素。内置的len函数返回的切片长度。内置的的cap函数返回切片的容量。 切片是引用类型,这意味着如果你将一个切片赋值给另外一个切片,这两个切片将引用同一个底层数组。 二、如何创建slice 创建切片可用以下两种方法: (1)直接创建: s := make([]int, 10) 创建了名为s 的,有10个元素(长度等于10)的整数类型切片 如果创建后没有给slice赋值,那么slice的值为创建类型的默认值,如: packagemain import"fmt" funcmain(){ s:=make([]int,10) fmt.Println(s) ...阅读全文

博文 2015-06-17 23:07:39 wuwenxiang91322

第二天:golang学习笔记之Byte

编码 名称 摘要 ★bytes bytes包实现了操作[]byte的常用函数. encoding encoding包定义了供其它包使用的可以将数据在字节水平和文本表示之间转换的接口. strconv strconv包实现了基本数据类型和其字符串表示的相互转换. strings strings包实现了用于操作字符的简单函数. text scanner对utf-8文本的token扫描服务,tabwriter缩进修正 unicode unicode 包提供了一些测试Unicode码点属性的数据和函数. bytes bytes包共有两个Struct分别是Reader和Buffer以及一个ErrTooLarge的er bytes文件定义了操作[]byte的众多函数: 类型之间的关系:rune,UTF-...阅读全文

博文 2019-12-15 17:32:39 Macmillan_

根据拓扑图理解golang的sync.Map工作原理

sync.Map的拓扑关系图 读懂关系图需要了解的几个关键点 var expunged = unsafe.Pointer(new(interface{})) type Map struct type readOnly struct type entry struct func (m *Map) Load(key interface{}) (value interface{}, ok bool) func (m *Map) Store(key, value interface{}) func (m *Map) Delete(key interface{}) func (m *Map) Range(f func(key, value interface{}) bool) 这里要重点关注readO...阅读全文

博文 2019-11-08 16:02:43 fizz

Golang WebAssembly 前端开发 - 1. Hello world.md

本文使用的环境: go1.11 linux/amd64 chrome 70.0.3538.67 Golang 源文件 main.go 如下: package main func main() { println("Hello, world!") } 在 Golang 源文件目录下,将 Golang 代码编译为 wasm 后缀的 WebAssembly 二进制文件,再将该文件复制到一个工作目录中: GOOS=js GOARCH=wasm go build -o go_main.wasm cp go_main.wasm /path/to/static 工作目录下的 HTML 源文件 go_index.html 如下: 阅读全文

博文 2018-12-29 23:34:45 Platanuses

Go Module 未来的趋势

Go Modules介绍 Modules是Go 1.11中新增的实验性功能,基于vgo演变而来,是一个新型的包管理工具。 GO111MODULE 要使用go module,首先要设置GO111MODULE=on GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。 GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go.mod文件,或者当前文件在包含go.mod文件的目录...阅读全文

博文 2019-05-09 03:35:01 My_Fuzz

Docker部署Golang

1. 安装docker 2. mkdir myDocker 3. cd myDocker && touch Dockerfile 4. Dockerfile写入 # 将golang环境作为父镜像 FROM golang MAINTAINER Razil "zc6496359" WORKDIR $GOPATH/src/godocker ADD . $GOPATH/src/godocker RUN go build main.go EXPOSE 8080 ENTRYPOINT ["./main"] 参数解释: FROM -> 母镜像 MAINTAINER -> 维护者信息 WORKDIR -> 工作目录 ADD -> 将文件复制到镜像中 RUN -> 执行操作(就跟在终端执行语句一样) EXPO...阅读全文

博文 2018-08-15 15:30:02 dqh123