文档章节

golang第二天

 孟星魂123456
发布于 2016/04/13 22:10
字数 385
阅读 15
收藏 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使用方法

© 著作权归作者所有

共有 人打赏支持
粉丝 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
glide mirror不生效

@梦朝思夕 你好,想跟你请教个问题: 我现在在使用一份开源代码。这份代码也是用glide管理的。它依赖golang.org/x/crypto。我按照你的帖子做了mirror。 [INFO] --> golang.org/x/crypto rep...

puddingS
2017/09/13
147
12
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
golang: 官博译文:可测试的 Golang 代码示例

javascript: GoJS 绘图 (五) :定位面板与垂直面板(Panel) golang: 官博译文:可测试的 Golang 代码示例 idea: idea配置Mongodb Golang vs Java Rockmongo 查询条件总结 golang: golang的一...

d_watson
2016/06/01
27
0

没有更多内容

加载失败,请刷新页面

加载更多

Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
12分钟前
0
0
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h...#define LRU_BITS 24...typedef struct redisObject { unsigned type:4; ...

Jian_Ming
25分钟前
0
0
laravel框架常用目录路径

laravel框架常用目录路径 app_path()app_path函数返回app目录的绝对路径:$path = app_path();你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径:$path = app_p...

高处胜寒
26分钟前
0
0
记一次winserver2003系统,https无法访问,内存占用持续增加,解决办法

先交代一下环境: win server2003系统,系统装在hyper-v虚拟机里 大概2016年底的镜像,距离今天两年左右 病症:大概9月10号左右用这个镜像还可以访问https,但是今天用这个镜像新装的系统,就...

阳阳露
41分钟前
3
0
Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部