golang 笔记

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

import "x/y/z"  //实际上是去找name.a  //自己把这个想象成路径

fmt.printf;  //把fmt想象成类(对象)


go build 包名默认就是目录名。生成的a文件也是目录名。


[delphi@z220 test]$ tree .

.

├── inc

│   └── func.go

└── test.go


//inc/func.go   实际上会生成 test/inc.a文件

package pkgfunc

import "fmt"

func MyFunc() {

    fmt.Println("Myfunc")

}


//test.go

package main

import "test/inc"

func main() {

    pkgfunc.MyFunc()

}


go run test.go

先找到test/inc.a文件,然后使用里面的pkgfunc包(名空间)里的MyFunc函数


一个目录下有多个package就会编译失败。


iota 遇上下一个const自动变成0, 

当赋值语句跟上一个相同,可省略不写iota

例如:

const (

monday = iota

trus

s

)


string 以unicode遍历的时候,每个字符类型是rune

go支持2种字符类型,一个是byte(uint8)代表utf8,另一个是rune代表单个unicode字符。

`` 可以写多行的原始字符


go中的数组是值类型,所有的值类型在赋值和作为参数传递都将产生一次复制动作。


因为go/build将会忽略所有以下划线或者点开头的源文件 



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

本文来自:开源中国博客

感谢作者:明月惊鹊

查看原文:golang 笔记

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

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