Ruby程序员的Golang之旅01

peter_ji · · 867 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang的import @ ruby的require

我们正好趁这个机会回顾一下ruby的require先

require(name) → true or false

require加载指定的文件,如果加载成功则返回true,如果已经加载过则返回 false。

require 'csv'
=> true
require 'csv'
=> false

如果文件名解析出来不是一个绝对路径,它将会在 $MY_RUBY_HOME 列出的目录中被查找。

require 'foo'
=>  cannot load such file -- foo
    from /Users/jiyarong/.rvm/rubies/ruby-2.3.0/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/jiyarong/.rvm/rubies/ruby-2.3.0/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from (irb):3
    from /Users/jiyarong/.rvm/rubies/ruby-2.3.0/bin/irb:11:in `<main>'

再来看下Golang的‘包’的概念

每个 Go 程序都是由包组成的。

程序运行的入口是包 main

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}

在导入了一个包之后,就可以用其导出的名称来调用它。
比如导入"fmt"后,就可以通过fmt这个前缀来调用fmt包里面的Println函数,强行用ruby来解释的话,fmt大概可以理解为一个class吧,Println就是这个类的一个类方法吧

$ go run hello.go 
Hello, World!

也可以同时一次导入多个文件

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("Now you have %g problems.", math.Nextafter(2, 3))
}
import (
    "fmt"
    "math"
)
等同于
import "fmt"
import "math/rand"

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:peter_ji

查看原文:Ruby程序员的Golang之旅01

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

867 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传