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

go/golang main() init()方法的调用

main() ,init()方法是go中默认的两个方法,两个保留的关键字。 init()方法 是在任何package中都可以出现,但是建议 每个package中只包含一个init()函数比较好,容易理解。 但是main() 方法只能用在package main 中。 Go程序会自动调用init()和main(),所以你不需要在任何地方调用这两个函数。每个 package中的init函数都是可选的,但package main就必须包含一个main函数。 程序的初始化和执行都起始于main包。如果main包还导入了其它的包,那么就会在编译时 将它们依次导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可 能都会用到fmt包,但它只会被导入一次,因为没有必要导入多次)。当一个包被...阅读全文

博文 2015-10-20 13:00:05 u011156212

go import用法

import "fmt"最常用的一种形式 import "./test"导入同一目录下test包中的内容 import f "fmt"导入fmt,并给他启别名f import . "fmt",将fmt启用别名".",这样就可以直接使用其内容,而不用再添加fmt,如fmt.Println可以直接写成Println import _ "fmt" 表示不使用该包,而是只是使用该包的init函数,并不显示的使用该包的其他内容。注意:这种形式的import,当import时就执行了fmt包中的init函数,而不能够使用该包的其他函数...阅读全文

博文 2015-11-26 18:00:00 chenbaoke

Go 导入当前项目下的包

其实和其他语言很类似 import ( "../controllers" //这里就是导入上一级目录中的controllers "./models" //同一级目录中的models "./models/entitys" //当前目录下的entitys "../../routers" //上两级目录的routers ) 当然也可以把写好的组件放入$GoPath的src中,这样就不需要关心目录是哪一层,只需要类似这样调用就好了: import ( "myproject/controllers" //这里就是自己项目的名字+包名 ...阅读全文

博文 2017-01-24 03:00:03 KelvinQ

[总结] Goland 使用技巧

Goland是JetBrains公司出品的一款开发Golang的工具。由于本人是JetBrains公司产品的重度使用者,好多都作为主力开发工具(IntellijI IDEA、PyCharm、WebStorm等),所以Goland一经推出,就成为我开发Golang的首选IDE。 如果你之前使用过Intellij IDEA开发Java程序,那么使用Goland几乎可以做到无缝衔接、直接上手。两者的项目组织结构、快捷键等好多特性都可以通用。 笔者之前总结过一些使用Intellij IDEA的技巧。有部分在Goland下同样适用,在此就不再赘述,下面仅总结一些Goland下特有的部分。 注释("//")不在行首显示,而是自动跟着代码缩进。 在Goland下,注释默认是在行首的,并且其并没有提供修改注...阅读全文

博文 2018-07-05 16:34:58 mr_franklin

Intellij IDEA ,按Ctrl+左键,不能进入类或方法的【解决办法】,提示Cannot find declaration to go to

Intellij IDEA ,按Ctrl+左键,不能进入类或方法的【解决办法】,提示Cannot find declaration to go to 2017年8月4日 朱宏亮%1 $ S Intellij IDEA ,按Ctrl+左键,不能进入类或方法的【解决办法】,提示Cannot find declaration to go to 如图,,按住Ctrl+鼠标单击的时候,系统提示Cannot find declaration to go to。 原因:导入项目的时候使用的是Open而不是Import Project。 解决方法:关闭当前项目,如图点击Import PrOject,导入项目即可 标签:Cannot find declaration to go to、Intelli...阅读全文

博文 2017-12-04 06:01:01 zy_zhengyang

goland 使用go module

安装 先升级go 版本到1.11.1 及以上 安装vgo go get -u golang.org/x/vgo. 安装完之后重启goland new project的时候会出现一个vgo项目选项。 屏幕快照 2018-10-18 上午9.30.54.png 创建完之后goland 创建自动创建 go.mod 文件 创建工程 GO111MODULE 环境变量 默认GO111MODULE 为auto 在gopath路径下会从gopath 或者vendor中寻找依赖包,在外部会使用go module的方式寻找依赖包 GO111MODULE =on 只会使用go module的方式寻找依赖包 这里我们设置GO111MODULE 为on 并且在gopath路径外创建一个工程. 屏幕快照 2018-10...阅读全文

博文 2018-10-18 11:34:41 myonlyzzy

Go项目结构和模块导入

Go项目结构和模块导入 golang项目结构与其他语言类似,但是仍然有一些需要注意的地方。 项目结构 环境配置 go 命令依赖一个重要的环境变量:$GOPATH,它表示GO项目的路径,如下设置 export GOPATH=/home/t/gospace 对于GOPATH来说,允许多个项目目录(Unix中为“:”,Windows中为“;”)。 项目目录 在项目目录中,一般包含三个文件夹,分别为src,pkg和 bin。各个文件夹功能如下, src 存放golang源码 pkg 存放编译后的文件 bin 存放编译后可执行的文件 模块导入 在golang中,模块导入包括两种导入方式:相对路径和绝对路径。 相对导入 当前文件同一目录的model目录,但是不建议这种方式来import import (...阅读全文

博文 2015-09-18 03:00:00 coder2012

golang导入GitHub中的包

有时候我们需要将网络上的包导入到自己的项目中,当然我们完全把别人的包先下载下来然后然后放在自己的项目中,这样我们就可以使用,其实我今天讲的也是把GitHub上面的我们所需要的包给弄到本地为我们所使用。 特此我创建了仓库,并在上面创建了一个包 废话不多说,上菜: 餐具: 我相信golang的环境已经配置好了,配置好的go环境,我们在src里面码代码,以前我们也需要GitHub上面的包,这主要是在配置VSCode调试环境的时候装的,今天我准备使用我自己的包,首先看我的GitHub:我的GitHub 目录结构 我的这个目录结构很简单,里面就一个文件夹,这个文件夹里面只有跟目录相同的一个go文件;现在我就把里面的sliceHandle包导入到我本地的环境中; 茶水: 打开终端,输入:go get g...阅读全文

博文 2018-12-06 20:34:49 吴敬悦

Golang 中使用多维 map

http://tnt.wicast.tk/2015/11/02/golang-multiple-dimension-map/ Golang 的 XML/JSON 解析库乍看使用起来很方便,只要构造一样结构的 Struct 就可以一下子导入到变量中去了.其实手工构造 Struct 非常容易出现结构偏差,而且最要命的是 Unmarshal() 执行的时候不是严格导入所以没有任何报错. 于是这两天写了一个给 Golang 用的 XML to Struct 生成器,希望能一劳永逸. 不过在制作过程中有遇到了一个不太容易发现的坑……也就是标题所说的多维 map. 什么是 map 首先 Golang 中的 map 与 JS,Py 里的 Map 函数并不是同一回事。前者是 Golang 中的一种基础数据类...阅读全文

博文 2017-09-21 22:30:01 grimm

golang import 下划线 的实现原理

这个操作经常是让很多人费解的一个操作符,请看下面这个import import ( “database/sql” _ “github.com/ziutek/mymysql/godrv” ) // _操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数, // 要理解这个问题,需要看下面这个图,理解包是怎么按照顺序加载的: 程序的初始化和执行都起始于main包。如果main包还导入了其它的包,那么就会在编译时将它们依次导入。有时一个包会被多个包同时导入,那么它只会被 导入一次(例如很多包可能都会用到fmt包,但它只会被导入一次,因为没有必要导入多次)。当一个包被导入时,如果该包还导入了其它的包,那么会先将其它 包导入进来,然后再对这些包中的包级常量和变量进行初始化,接...阅读全文

博文 2015-09-28 18:00:03 webyh

go Notepad++ 语法高亮

go 自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即 转自:http://www.cnblogs.com/potoofly/archive/2013/06/03/3115350.htm...阅读全文

博文 2014-10-30 03:00:01 yumuxu

protobuf 导入另一文件夹下的proto

环境: protobuf2 ,golang 项目test下 存放proto的目录结构 ---test // 项目根 ------ cs --- cs.proto ------ ss --- ss.proto cs.proto syntax = "proto2"; package cs; message Test{ optional string name = 1; } ss.proto syntax = "proto2"; package ss; import "test/cs/cs.proto"; message Test{ optional cs.Test cstest = 1; } ss.proto 文件引用 cs/cs.proto import 不允许使用相对路径Backslashe...阅读全文

博文 2020-04-23 10:32:51 yddeng

golang 导入自定义结构体、实现接口

项目根目录为mygo,新建go文件,写一个入口函数 package main func main() { } 先新建一个新建model文件夹并新建.go文件(文件名随意无影响),自定义结构体 package people type Info struct { Age int } type People struct { Name string Info Info } func (p People) Getname() string { return p.Name } func (p People) Setname(name string) People { p.Name = name return p } 声明首字母大写可供外部调用 再新建imp文件夹,用来放接口文件,新建.go文件,写一个...阅读全文

博文 2018-07-16 12:34:49 droid_zf

Goread:用Go编写的Google Reader的开源实现

《Goread:用Go编写的Google Reader的开源实现》作者对GR的现有开源实现并不满意,于是自己实现了一个版本——Goread,它具有如下特性:支持导入OPML、移动端支持良好、不需要安装其他支持、和GR有相同的键盘快捷键、简洁快速……详见: http://www.goread.io...阅读全文

golang 测试文件xxx_test

go 的版本:go version go1.4.2 windows/386 举例:如果golang的包在同一目录下,比如GOPATH下面src/test/ 目录下有包名package test 如果此时有 test.go 和 test_test.go,那么包导入的时候会自动忽略test_test.go的导入内容 总之,1、如果有多个.go文件时候,并且不都是*_test.go命名,其它命名*_test.go的文件的包都import不进去 2、如果多个.go文件都是*_test.go,则一定会有一个*_test.go文件可以被import 3、 所以最好的做法是在开发环境中不要命名*_test.go的文件,最终测试用例文件可以用*_test.go命...阅读全文

博文 2015-10-11 23:00:07 webyh

golang导入包的理解

1、首先是包的引入原理 程序的初始化和执行都起始于main包。如果main包还导入了其它的包,那么就会在编译时将它们依次导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到fmt包,但它只会被导入一次,因为没有必要导入多次)。当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的包级常量和变量进行初始化,接着执行init函数(如果有的话),依次类推。等所有被导入的包都加载完毕了,就会开始对main包中的包级常量和变量进行初始化,然后执行main包中的init函数(如果存在的话),最后执行main函数。 2、包导入的语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ...阅读全文

博文 2017-04-08 03:00:29 杰克慢

导入自定义包,报错:The system cannot find the file specified.

新手一枚,有一个问题困扰我很久了。希望能得到好心人的帮助 问题:想测试一下自定义包的导入,一直报错,找不到文件的对应的路径 ```go package main import ( "fmt" "./struct_pack/structPack" ) func main() { struct1 := new(structPack.ExpStruct) struct1.Mi1 = 10 struct1.Mf1 = 16. fmt.Printf("Mi1 = %d\n", struct1.Mi1) fmt.Printf("Mf1 = %f\n", struct1.Mf1) } ``` 环境配置: goPath:D:\Go;E:\3-...阅读全文

Golang- import 导入包的语法

一 包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块: 相对路径 import "./model" //当前文件同一目录的model目录,但是不建议这种方式import 绝对路径 import "shorturl/model" //加载GOPATH/src/shorturl/model模块 上面展示了一些import常用的几种方式,但是还有一些特殊的import,让很多新手很费解,下面是三种导...阅读全文

博文 2015-06-17 20:18:48 Crazy__Programmer

Wide 支持导入本地项目了!

该导入项目的方式是通过两个功能组合完成的: * 导入文件 * 解压 Zip ### 步骤 1. 在目标目录右键单击并在下拉菜单中选择“导入” ![](https://cloud.githubusercontent.com/assets/873584/6767938/42233628-d08a-11e4-9b1a-cc1864fa27a2.png) 2. 上传 Zip 文件 ![](https://cloud.githubusercontent.com/assets/873584/6767939/42246548-d08a-11e4-90f9-e5fe1760c229.png) ![](https://cloud.githubusercontent.co...阅读全文

notepad++ 的golang语法高亮

go 自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即...阅读全文

博文 2014-10-04 19:26:09 potoofly

go语言导出内容到excel

package main import ( "os" "encoding/csv" ) func main() { f, err := os.Create("haha2.xls") if err != nil { panic(err) } defer f.Close() f.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM w := csv.NewWriter(f) w.Write([]string{"编号","姓名","年龄"}) w.Write([]string{"1","张三","23"}) w.Write([]string{"2","李四","24"}) w.Write([]string{"3","王五","25"}) w.Write([]stri...阅读全文

博文 2015-06-17 23:07:24 abao2123

go语言不区分大小写的导包,导致的debug 失败

鼠标放上去提示 could not find XXXXX debug失效图片: image.png 原因是go语言导包不区分大小写但是必须一致,由于我的包路径是 admin/util 我统一用Admin/util 来import。这就导致来debug时找不到代码路径,都改为admin就可以debug了。 相关大小写不一致报错 Golang case-insensitive import collision 这个是包导入大小写错误,大小写不一致能够导入,但是不能通过编译...阅读全文

博文 2019-02-21 19:34:46 SailSea

Go 的包与编译时的依赖包查找机制

包机制 同一目录下只能存在一个包;若同一目录下存在多个包,该目录被别的源文件导入时编译时会报错,不可同一路径导入两个包。 目录和目录下源文件的包命名可以不同,目录被导入时只是提供包的路径而已;若目录名称和目录下包名称不同,当目录被导入时不必为包起别名即可在下文中使用包,当然,使用方式不是以目录名为前缀,而是以目录下的包名为前缀,不过这会导致读代码时不知道该包是来自哪个路径。所以一般规范的写法是保持目录和目录下的包名称相同。 不同目录下若存在相同名称的包,若在一个源文件中需同时导入使用这些包,首先一定是需要导入多个目录路径的,所以这些来自不同路径的相同名称的包就被视为了不同的包,但因为名称一样,所以同时导入到一个源文件时会导致命名冲突编译不通过:redeclared as imported p...阅读全文

博文 2019-08-16 00:02:44 Xavier

【嗜血GO笔记】Goclipse如何导入已有的GO项目

与其他的JAVA工程略有不同,你是不能在 “导入” 中找到GO项目。 我们需要通过以下的方式导入: 步奏一:如下图所示 步奏二:在创建的时候选中“Create project from existing source”-->在 Directory 中选中你要导入的程序,一般来说,如果你提前配置了GO 的环境,那么在Configure Go settings中是不需要做任何配置的。如下图 至此导入工程就完成了。希望能给刚学习GO的朋友一些帮助...阅读全文

博文 2015-02-11 23:00:00 嗜血程序员

mysql busy buffer 这个怎么解决?

![WechatIMG77.jpg](https://static.studygolang.com/180330/23766a857bf022408f3187535ea2ae8b.jpg) 导入一份数据,不知道是什么原因,最后丢失了1500多条内容。 也不知道到底是我哪里写错了。出现了 busy buffer 的问题。它是在最后转换完成后出现的。 我网上找了别人说的,说设置 ``` xn4db.SetMaxIdleConns(0) xn4db.SetMaxOpenConns(100) xn4db.SetConnMaxLifetime(time.Second * 10) ``` 就行了,然而我无论怎么弄都不能成功。。。唉。求解答...阅读全文

golang中("import cycle not allowed")错误

golang不允许循环导包,如果检测到import cycle,会在编译时报错,通常import cycle是因为设计错误或包的规划问题。 import( "package A" "package B" ) 如果package A中已经导入package B,而本package中又导入package B 或者 package A依赖package B,同时 package B 依赖package A 这样就会在编译时报 "import cycle not allowed"。 如何避免重复导入包的问题,就需要在设计时规划好包...阅读全文

博文 2017-03-05 05:55:22 skh2015java

十二赞日志收集与报警系统一览

先快速介绍一下十二赞的日志收集系统:十二赞的日志收集系统,分为两块,一块是线上系统的各种报错、异常的日志收集,主要是各种线上代码运行期间产生,我们称之为log-collect,一块是用户行为操作的日志收集,主要是由各个业务系统根据用户的行为来上报,比如用户A访问了xx页面,用户B收藏了某某商品等,我们称之为eventdb。 基于这两块的日志收集,我们实现了一些自己非常自豪的特性。比如,基于log-collect,我们做到了能够主动去发现问题,抢在大多数客户发现异常之前,就把问题处理掉,从而做到不断地提高Saas系统的可用率和稳定性;基于eventdb,我们能做到非常完善的行为收集,将我们的返利模块、分销模块的准确度、实时性大幅度提高。 下面我们介绍一下系统的架构。 从需求上,我们认为log-...阅读全文

博文 2018-11-14 14:34:42 十二赞

golang 导入包

库有两种:静态库(.a、.lib)和动态库(.so、.dll) golang貌似不支持动态库(待确认。。。) go 中的 package 首先是要知道你的环境变量 [GOPATH] [GOPATH]目录下 创建以下目录 /bin /pkg /src src中 新建文件夹mymath [GOPATH]/src/mymath/math.go package mymath import ( "fmt" ) // Sqrt returns an approximation to the square root of x. func Add() {//大写,才能被外界调用 fmt.Println("===package mymath Add func ") } [GOPATH]/src/main.go...阅读全文

notepad++ 的golang语法高亮

go自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即...阅读全文

博文 2014-10-04 19:26:09 gzme

VS Code中如何关闭保存Go语言文件时自动去除未引用包的行为

在使用Visual Studio Code编写Go语言(Golang)程序代码的时候,有时候引用的包明明是正确引用了,但在保存的时候却会被自动删除掉,是被误认为未引用了。这时候,参照以下步骤就可以解决。在VS Code中的Preference的Settings中搜索goimports,会看到“Go: Format Tool”一项,将使用的goreturns或goimports换成gofmt即可。因为goreturns或goimports都会自动做自动包导入或者将未引用的包去除的工作。当然,这样设置了之后,使用到了但却没有导入(import)的包一定要记得自己手动确保导入。方便性两者不可兼得...阅读全文

博文 2020-04-18 17:32:48 陆满庭

Golang中的字节序列化操作

在写网络程序的时候,我们经常需要将结构体或者整数等数据类型序列化成二进制的buffer串。或者从一个buffer中解析出来一个结构体出来,最典型的就是在协议的header部分表征head length 或者body length在拼包和拆包的过程中,需要按照规定的整数类型进行解析,且涉及到大小端序的问题。1.C中是怎么操作的在C中我们最简单的方法是用memcpy来一个整形数或者结构体等其他类型复制到一块内存中,然后在强转回需要的类型。如: // produce int a = 32; char *buf = (char *)malloc(sizeof(int)); memcpy(buf,&a,sizeof(int)); // consume int b ; memcpy(&b,buf,siz...阅读全文

博文 2017-02-09 17:21:03 gotaly

Go读取大量数据,开启多协程,将读取的文件内容导入数据库,出现丢失数据现象

各位大佬,Go新人,昨天写了一个数据库导入工具,从本地文件并导入DbFileReadWriteChanel的数据是正确无缺少的,就在开启100协程写入数据,执行完毕后,发现导入后的数据表中缺少了100多条。
\ 清空数据表后,又运行,一次还是缺少,然后进行少量的数据测试,发现,还是丢失,但如果只是使用主线程,导入,则无问题。
初步思考,代码出现问题的范围为一下代码块,请各位大佬协助,帮忙找一下问题所在,谢谢帮助。
``` //将存入chanel中的数据导入到数据库表中 func (this *DbFileRead) ImportTable(DbFileReadWriteChanel chan DbFileRead, exitChan chan bool) error {...阅读全文

golang自动导入postgresql脚本

直接代码 package main import ( "fmt" "golang-objective-go/dataFoundation/dataConvert" "io/ioutil" "os/exec" "strings" ) func main() { dir_list, e := ioutil.ReadDir("./") if e != nil { fmt.Println("read dir error") return } for _, v := range dir_list { fileName := v.Name() if strings.Contains(fileName, ".sql") { c := exec.Command("psql", "-d", "xxxx", "...阅读全文

博文 2015-08-19 03:00:00 ziyouchutuwenwu

GO语言Robotgo学习-引用(1)

环境要求 在安装 RobotGo 之前, 请确保 Golang、GCC 被正确安装 安装库 go get github.com/go-vgo/robotgo 注意:我执行这个条件后库保存在C:\Users\Administrator\go,把里面的所有文件拷贝到Go环境的安装目录,我的是D:\Go,如图的目录 Go语言安装目录文件结构.png 代码中导入 import "github.com/go-vgo/robotgo...阅读全文

博文 2018-08-15 11:35:02 eoser

为应用增加daemon和graceful godaemon

godaemon是用来为应用增加daemon和graceful的。 **使用方法** * 只增加daemon功能 要让你的应用支持daemon很简单,只需导入godaemon包即可,无需再调用任何方法

package main
import(
    _ "github.com/tim1020/godaemon" //仅导入,包的init方法被自动调用,嵌入daemon功能
)
func main(){
    //正常的业务代码
    http.HandleFunc("/", func(w http.ResponseWriter, r...阅读全文

Golang 数据库增改查

1、需要导入驱动文件,需要执行 D:\GOPATH\src\GoData>go get 2、代码 // GoData project main.go package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) type user struct { t_id int t_username string t_password string t_mobile string t_registertime string t_lastpassword string t_question string t_answer string t_email string t_userType string } //...阅读全文

博文 2015-02-12 18:00:00 未来还没来

golang项目结构日记

最近再玩golang,在研究如何导入自己的模块的时候很是头疼。基本golang槽糕的设计——project既要设置$GOPATH又对项目结构有一定的要求(缺少一定的自由)(当然golang糟糕的设计远不止这方面,越是深入了解越是讨厌)。google好久才知道如何配置。网上blog里要么是同一篇文章各种转载(他喵的还不注明),要么不够清晰,各种尝试后终于成功,记录如下: 进入终端输入命令 mkdir -p goproject/src/goproject cd goproject touch install cd src/goproject touch main.go cd .. mkdir test cd test && touch test.go 此时cd 到goproject应该是如下: ...阅读全文

博文 2016-07-16 02:00:01 danny_amos

NOTEPAD++ 配置golang 高亮显示

go自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即...阅读全文

博文 2015-12-22 04:00:01 u011363248

go的非侵入式接口

什么是接口 接口就是一组方法的集合。比如下面这个例子,几何图形接口就包含了面积与周长两个方法,对于任何实现了这两个方法的type,都属于几何图形。 type Geometry interface { Area() float64 Perim() float64 } type Rect struct { Width, Height float64 } type Circle struct { Radius float64 } func (r Rect) Area() float64 { return r.Width * r.Height } func (r Rect) Perim() float64 { return 2 * (r.Width + r.Height) } func (c Cir...阅读全文

博文 2017-02-28 05:13:12 bigtom

notepad++ 的golang语法高亮

go自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即可 版权声明:本文为博主原创文章,未经博主允许不得转载...阅读全文

博文 2015-11-17 21:00:01 varding

01.go-简介

简介 特点 支持并发,垃圾回收的编译型系统编程语言 导入没有使用过的包时会报错 安装 Mac os brew install go 第一个例子 建立一个文件,名为"hello.go",添加如下内容 package main import "fmt" func main() { fmt.Println("Hello, 世界") } 运行此段代码 E:\blog\go>go run hello.go Hello world!你好,世界...阅读全文

博文 2015-02-01 03:00:01 doit2015

go学习笔记(01)- 简介

简介 特点 支持并发,垃圾回收的编译型系统编程语言 导入没有使用过的包时会报错 安装 Mac os brew install go 第一个例子 建立一个文件,名为”hello.go”,添加如下内容 package main import "fmt" func main() { fmt.Println("Hello, 世界") } 运行此段代码 E:\blog\go>go run hello.go Hello world!你好,世界! $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('阅读全文

博文 2015-03-23 13:00:01 sirius93

notepad++ 的golang语法高亮

go自带了notepad++的语法高亮配置,只需要在notepad++里导入即可: 1. 打开go的安装目录misc\notepadplus下的userDefineLang.xml,把开头的和结尾的的注释取消掉 2. 把misc\notepadplus目录下的go.xml放到notepad++安装目录下的plugins\APIs目录里 3. 打开notepad++,菜单:语言=>Define you language,在弹出的对话框里导入刚才的userDefineLang.xml即...阅读全文

博文 2015-06-21 02:01:09 LvanNeo