文档章节

golang第二天

 孟星魂123456
发布于 2016/04/13 22:10
字数 385
阅读 16
收藏 0
  • package

    • 语法:package <something>
    • 执行文件必须是:package main
    • 规范:
  1. package与目录一直,类似Java的方式
  2. 每个子目录中只能存在一个package
  3. go的package是以绝对路径GOPATH来寻址的,不要用相对路径来import 例1(每个子目录只能有一个Package):
/*
	package_name 属于目录 $GOSRC/hello.world/package_name.go
*/
package helloworld

import (
	"fmt"
)

func PrintHelloWorld() {
	fmt.Println("Hello World!")
}
/*
	helloworld 属于目录 $GOSRC/hello.world/helloworld.go
*/
package main

import (
	"helloworld"
)

func main() {
	helloworld.PrintHelloWorld()
}

输出:

/*
E:/golang/bin/go.exe build -i [E:/code/golang/src/helloworld]
can't load package: package hello.world: found packages main (helloworld.go) and hello (package_name.go) in E:\code\golang\src\hello.world
错误: 进程退出代码 1.
*/
  • import

    • 引用本地自定义包,是直接将$GOSRC作为根目录进行import 例1(正确的package命名):
/*
	main.go 属于目录 $GOSRC/main/main.go
*/
package main

import (
	"helloworld"
)

func main() {
	helloworld.PrintHelloWorld()
}
/*
	package_name 属于目录 $GOSRC/helloworld/package_name.go
*/
package helloworld

import (
	"fmt"
)

func PrintHelloWorld() {
	fmt.Println("Hello World!")
}

输出:

E:/code/golang/src/main/main.exe  [E:/code/golang/src/main]
Hello World!
成功: 进程退出代码 0.
    • 引用github上的包 在shell环境下执行命令行:go get github.com/Unknwon/goconfig 可以看见$GOSRC/github.com/Unknwon/goconfig目录
/*
	main.go 属于目录 $GOSRC/main/main.go
*/
package main

import (
	"fmt"
	"helloworld"
	"log"

	"github.com/Unknwon/goconfig"
)

func main() {
	// print
	helloworld.PrintHelloWorld()
	//config
	cfg, err := goconfig.LoadConfigFile("../resource/config.ini")
	if err != nil {
		log.Println("读取配置文件失败[../resource/config.ini]")
		return
	}
	str, _ := cfg.GetValue(goconfig.DEFAULT_SECTION, "k1")
	fmt.Printf("%s\n", str)
}

其中config.ini文件如下

#config.ini放在$GOSRC/resource目录
k1=v1
k2=v2
k3=v3
k4=v4

输出:

E:/code/golang/src/main/main.exe  [E:/code/golang/src/main]
Hello World!
v1

附:goconfig使用方法

© 著作权归作者所有

共有 人打赏支持
上一篇: spark第一天
下一篇: golang第一天
粉丝 0
博文 4
码字总数 2143
作品 0
私信 提问
GO学习第二天——web服务器搭建

前天刚刚用GO写了个Hello,今天弄了一下GO的web服务器。 其实GO的web服务器搭建非常容易。这里就不说GO的基本语句了,推荐一个网址学习https://github.com/astaxie/build-web-application-wi...

leaf志良
2013/10/30
0
0
Golang学习笔记目录

Golang 介绍 Go语言是谷歌2009发布的第二款开源编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。...

ChainZhang
2017/12/26
0
0
Golang资料集

该资源的github地址:Qix 《Platform-native GUI library for Go》 介绍:跨平台的golang GUI库,支持Windows(xp以上),Unix,Mac OS X(Mac OS X 10.7以上) 《Gopm 快速入门》 介绍:Gopm(Go 包管...

ty4z2008
2016/03/11
0
0
从PHP 到Golang 的笔记 ( 转 )

———文章来源 YamiOdymel/PHP-to-Golang 为什么从PHP 转到Golang? PHP和模块之间的关系令人感到烦躁,假设你要读取档案,你需要有一个的模块,为此,你还需要将其编译然后将编译后的模块摆...

沐青之枫
05/31
0
0
Golang的docker尝试

一、 前言 就不在这里介绍了,相关的文档已经很完善,中文文档 Docker —— 从入门到实践 写的很棒,推荐去看看。 基于 开发,已经不用解释了,而 天生适合运行在 容器中,却不是这个原因,这...

dingdayu
2017/10/20
0
3

没有更多内容

加载失败,请刷新页面

加载更多

《阿里铁军》的读书笔记和读后感范文2600字

《阿里铁军》的读书笔记和读后感范文2600字: 在中国互联网,有一个流传很广的说法是,百度强在技术,腾讯强在产品,阿里强在运营。虽然发展到今天,已经不能再用这样简单的视角来看待这三个...

原创小博客
29分钟前
2
0
怎样实际项目中运用责任链模式

1 模式概要 1.1 简介 责任链模式为请求创建一个接收者对象链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把请求传给下一个接收者,依此类推 责任链模式避...

小刀爱编程
43分钟前
2
0
【宇润日常疯测-004】JS 遍历数组如何快!快!快!

首先,我就是一后端全栈,对前端也只是会用罢了。闲的无聊来测测,不深究,只看表面,不喜勿喷! 遍历数组在写 JS 代码时候一定是经常用的,那么怎么遍历能达到最高效率呢,很多人一定没有测...

宇润
47分钟前
11
2
Linux系统如何定制History输出格式

Linux系统使用History命令来查看系统的运行记录,从而找出一些问题。但是History输出的数据中常常没有时间等信息。本文就来教大家Linux系统如何定制History输出格式。   具体方法如下 以r...

linuxprobe16
50分钟前
2
0
(一) pyhon 基础语法(数值 字符串 元组 列表 字典)

1、python的数据类型: 数值 字符串 列表 元组 字典; 数值类型包括; 整型(int) 长整型(long) 浮点型(float) 复数型 字符串; 可以通过type() 来查看是什么类型的; 注释:len()只支持 字符...

芬野de博客
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部