文档章节

golang第二天

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

码上生花,ECharts 作品展示赛正式启动!>>>

  • 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
2.9K
0
谷歌挖出 iMessage 新漏洞,运行旧系统的 iPhone 只能重置修复

在 iMessage 中输入特定的字符串,并将其发送给其他人,可能会引发一些奇怪的事情。我们曾在过去报道过多次这样的偶然发现,万幸苹果通常会很快完成 bug 修补,并发布软件更新。不过近日,谷...

作者: 安华金和
2019/07/07
0
0
Docker 快速验证保存 iptables 的转发策略

故事和事故 这里的故事都是来源于事故。当然处理好了是传说中的故事,处理不好就是惨痛的事故。 前言 接上回(Docker快速验证tomcat单机多实例方案),解决非root账号不能绑定80端口,采用的是...

xjtuhit
2018/12/29
0
0
# 新冠假期 - 实习/面试经历分享(1)

距离上次写《四次面试经历足以…》,已经过去了差不多一百天, 还记得写上次那篇博客的时候,是在去桂林的火车上,不知不觉间,一百天转瞬即逝,我欣赏了故乡甜美的桃花,领略了白洋淀大堤的...

forevermoonlight
04/20
0
0
Golang学习笔记目录

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

ChainZhang
2017/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka快速入门(九)——C客户端

Kafka快速入门(九)——C客户端 一、Librdkafka简介 1、librdkafka简介 librdkafka是C语言实现的Apache Kafka的高性能客户端,提供C++接口。librdkafka专为现代硬件而设计,尝试将内存复制保...

osc_b0i5ef6e
21分钟前
11
0
某二手交易平台大数据平台从 0 到 1 演进与实践

在人口流量红利不再,获客成本越来越高的时代,精益创业、MVP 的概念已经深入人心,精细化运营也是大势所趋,而这些背后本质上都依赖数据化运营,那如何根据现有业务,快速从 0 开始打造一个...

osc_1qix3fyb
21分钟前
10
0
一个屌丝程序猿的人生(一百一十二)

  “喂,林萧。”   电话的另一头想起了欧阳晓的声音,听上去似乎有些冷淡,让林萧不由得心中一紧。   “是我,你在干嘛?”林萧试探的问了一句。   “没干什么,有什么事吗?”   ...

osc_c1kk059r
23分钟前
19
0
flask + pyecharts 搭建新冠肺炎疫情数据可视化交互分析平台:包含疫情数据获取、态势感知、预测分析、舆情监测等任务

该项目是浙江大学地理空间数据库课程作业8:空间分析中,使用 flask + pyecharts 搭建的简单新冠肺炎疫情数据可视化交互分析平台,包含疫情数据获取、态势感知、预测分析、舆情监测等任务 包...

osc_qheq8wav
25分钟前
18
0
如何在Joomla管理面板中访问文件并进行编辑

在本教程中,我们将向您展示如何从站点管理员面板中编辑Joomla模板文件。 1.登录到Joomla管理员面板后,您需要导航至扩展 > 模板部分。 2.在下一个窗口中,再次从左侧列表中选择模板,然后单...

osc_sumf8h95
27分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部