First glance in Go

Because I forgot to install the Chinese input in this OS, I have to use English input.

The first problem which I ran into is "how to import the local file in Golang"

First, it may be my fault but I really didn‘t see any documents say that if you want to import a local file in another Go file, you should create a folder to put the imported file. Below is my case:

I created a file said "example2.go", then typed some codes:

package example2

func Add(a, b int) int {
    return a + b
}

I wanted to import it in another file said "example1.go"

package main

import (
        "fmt"
        "./example2"
       )

func main() {
    fmt.Println("Hello Go!")
    fmt.Println(example2.Add(1,2))
}

when I tried to run the example1.go file, the go runtime threw an error said "couldn‘t find the example2". what‘s the problem? Is GOPATH not set? Is example2.go not compiled? Finally, I found it is the folder structure problem. My orignal folder structure likes this

Goworkspace
- pkg
- src
    - example1.go
    - example2.go
- bin

But Go 1.4 doesn‘t support import a single file as a package. So I have to put the "example2.go" in a folder said "package2"

Goworkspace
- pkg
- src
    - example1.go
    - package2
        - example2.go
- bin

then change the code

package main

import (
        "fmt"
        "package2"
       )

func main() {
    fmt.Println("Hello Go!")
    fmt.Println(example2.Add(1,2))
}

it works. So it means a package always refers to a folder in the Golang.

时间: 2024-11-07 11:59:02

First glance in Go的相关文章

Ubuntu16.10安装Ocata之3:Glance

1.创建Glance数据库 [email protected]:~/ocata# mysql -uroot -p -e "CREATE DATABASE glance" Enter password: [email protected]:~/ocata# mysql -uroot -p -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'zoomtech'" Ente

58 Openstack基础、openstack之glance、openstack之keystone

03 openstack之keystone 配置环境 Controller CentOS release 6.7 controller eth0:仅主机 192.168.28.121 eth1:桥接 192.168.1.121 node2 192.168.1.122 CentOS release 6.7 compute1 eth0:仅主机,eth1:VMnet2 不会直接与外部网络通信 node3 192.168.1.123 CentOS release 6.7 networking eth0:

【N版】openstack——镜像服务glance(四)

[N版]openstack--镜像服务glance 一.openstack之glance镜像服务 1.1glance介绍 glance主要是由三部分组成 glance-api:接收云系统镜像的创建,删除,读取请求,类似nova-api,通过其他模块(glance-registry及image store)来完成诸如镜像的查找.获取.上传.删除等操作,api监听端口9292. glance-registry:云系统的镜像注册服务,用于与mysql数据库交互,存储或获取镜像的元数据(metadata

glance image cache

The Glance Image Cache The Glance API server may be configured to have an optional local image cache. A local image cache stores a copy of image files, essentially enabling multiple API servers to serve the same image file, resulting in an increase i

Glance支持镜像的格式

Glance支持多种镜像的格式, 下面列出了目前已经支持的镜像格式: raw – 非结构化的镜像格式 vhd – 一种通用的虚拟机磁盘格式, 可用于Vmware.Xen.Microsoft Virtual PC/Virtual Server/Hyper-V.VirtualBox等. vmdk – Vmware的虚拟机磁盘格式, 同样也支持多种Hypervisor vdi – VirtualBox.QEMU等支持的虚拟机磁盘格式 iso – 光盘存档格式 qcow2 – 一种支持QEMU并且可以动

glance总结

Openstack将glance独立出来的一个原因是尽可能将镜像存储至多种存储上,由glance提供一个完整的适配框架.现在支持亚马逊对象存储S3.openstack自有的swift对象存储,以及常用的文件系统存储. 流程图如下: glance api :对外提供镜像接口服务. registry server : 注册服务,存储镜像元数据信息与数据库交互实现镜像基础信息存储. store adaptor : 存储镜像文件,提供多种存储适配. 在实际部署上,glance api与glance re

Openstack针对nova,cinder,glance使用ceph的虚拟机创建机制优化

 今天在开源中国社区看到有如下一个问题: 已经成功把ceph作为cinder和 glance的后端,但是如果作为nova的后端,虚拟机启动速度非常慢,网上查了一下是因为openstack创建虚拟机的时候通过ceph取镜像创建虚拟机再把虚拟机存回ceph的步骤浪费了很多时间,是否有办法不把镜像取到本地,而是直接在ceph的存储池里完成虚拟机的创建呢? 实际上,我当前也是把ceph作为nova,cinder,glance三者的后端,创建虚拟机速度非常慢.查了一下相关和资料,是有新的处理方式,当前

OpenStack 镜像服务 Glance部署(六)

Glance介绍 创建虚拟机我们需要有glance的支持,因为glance是提供镜像服务. Glance有两个比较重要的服务: Glance-api:接受云系统镜像的构建.删除.读取请求 Glance-Registry:云系统的镜像注册服务 我们需要配置glance-api的配置文件和glance-registry配置文件 .glance不需要配置消息队列,但是glance需要配置keystone(认证中心). 提示:默认情况下上传镜像存放在/var/lib/glance/images下 Gla

中小企业openstack私有云布署实践【9.1 Glance镜像管理(科兴环境)】

首先登录kxcontroller1创建kx_glance数据库,并赋于远程和本地访问的权限. mysql -u root -p CREATE DATABASE kx_glance; GRANT ALL PRIVILEGES ON kx_glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'venic8888'; GRANT ALL PRIVILEGES ON kx_glance.* TO 'glance'@'%'  IDENTIFIED BY 'ven

Openstack 实战讲解之-----------04-控制节点glance服务安装配置

一.Glance介绍:  1.1 glance主要是由三部分组成: glance-api:接收云系统镜像的创建,删除,读取请求,类似nova-api,通过其他模块(glance-registry及image store)来完成诸如镜像的查找.获取.上传.删除等操作,api监听端口9292. glance-registry:云系统的镜像注册服务,用于与mysql数据库交互,存储或获取镜像的元数据(metadata):提供镜像元数据相关的REST接口,通过glance-registry,可以向数据库