为什么80%的码农都做不了架构师?>>>   

1、包

每个Go程序都是由包构成,从main包开始运行,就是我上一篇讲到的,都是从main函数开始执行,但是必须在main包下面!

package mainimport ("fmt""math/rand"
)func main()  {fmt.Println("hello,world")fmt.Println("i like the most number is ",rand.Intn(100))fmt.Println("随机的数字是",rand.Int())
}

运行结果:

2、导入

go文件导入可以写成

import "fmt"
import "math/rand"

如果导入包过多的话,那么,我们可以使用

import ("fmt""math/rand"
)

3、导出名

其实可以理解成java中的public的static的变量或者常量,我们都以开头字母大写表示是public,小写的都是private,只能在自己文件中使用。

这说明调用math函数这个包的pi是不成立的,我们换成大写试试,

这样我们就可以调用共有的变量或者常量了,所以在go语言中,大写的都是public的,可以在其他文件中使用,但是小写的只能用于自己文件中,私有,不公开。

4、函数

4.1 函数使用

package mainimport "fmt"func add(x int,y int) int  {return x+y
}func main()  {fmt.Println(add(4,6))
}

我说下,go的函数和java的方法其实是一致的作用,下面我们用java的方法做比较

public int add(int x,int y){return x+y;
}

go只是把参数值和类型顺序反过来,而且那个public或者private用函数名add大小写来表示,小写表示private 私有方法,返回值类型放到了参数与大括号之间来表示!!!所以想必大家也能很快举一反三go的所有函数了吧。

当然,如果函数的参数类型都相同的情况下,那么我们可以省略,如下:

func add(x,y int) int  {return x+y
}

少写一个int类型而已,细节细节问题!

4.2 函数多值返回

如果一个函数由多个值返回,那么我们需要在返回类型上多添加一个返回类型,如下:

func add(x,y int) (int,int) {return y,x
}

这个时候,返回类型需要用括号扩起来,并间隔加逗号,就ok了

4.3 函数:命名返回值

func split(sum int) (x, y int) {x = sum * 4 / 9y = sum - xreturn
}

我们return不加参数,但是在返回类型前加上我们下面的变量也可以直接返回

转载于:https://my.oschina.net/mdxlcj/blog/1931094

Go语言_通神路之灵胎篇(2)相关推荐

  1. Go语言_通神路之灵胎篇(5)

    为什么80%的码农都做不了架构师?>>>    1.指针 Go 拥有指针.指针保存了值的内存地址 类型 *T 是指向 T 类型值的指针.其零值为 nil. & 操作符会生成一 ...

  2. Go语言_通神路之灵胎篇(3)

    为什么80%的码农都做不了架构师?>>>    1.变量 go的变量和java变量差不多,也分局部作用域和全部作用域 package mainimport "fmt&quo ...

  3. Go语言_通神路之灵胎篇(1)

    为什么80%的码农都做不了架构师?>>>    序言:Go语言拿下两届年度最佳编程语言,区块链目前最火使用的编程语言,2020年-2025年爆发年!go的开源项目:docker.ku ...

  4. Go语言_通神路之灵胎篇(4)

    为什么80%的码农都做不了架构师?>>>    1.for循环 func main() {sum := 0for i := 0;i<10 ;i++ {sum += i}fmt. ...

  5. Go语言_通神路之灵胎篇(6)

    为什么80%的码农都做不了架构师?>>>    1.映射 1.1 概念 go的映射在java中被叫做集合 type Vertex struct {Lat, Long float64 ...

  6. Go语言_通神路五耀篇(3)

    为什么80%的码农都做不了架构师?>>>    1.Reader io 包指定了 io.Reader 接口,它表示从数据流的末尾进行读取. Reader接口包含的方法 func (T ...

  7. C++语言程序设计视频教程_清华大学_郑莉(基础篇+进阶篇)

    C++语言程序设计视频教程_清华大学_郑莉(基础篇) 第一章:绪论 1.1 导学 1.2 计算机系统简介 1.3计算机语言和程序设计方法的发展 1.4 面向对象的基本概念 1.5 程序的开发过程 1. ...

  8. c语言拍飞虫课程设计报告,c语言课程设计_拍飞虫提高篇.doc

    c语言课程设计_拍飞虫提高篇 C语言课程设计二 拍飞虫 一.游戏介绍 拍飞虫游戏是玩家用鼠标控制拍子,拍飞虫.飞虫每次从不同的位置.以不同的速度飞来飞去.玩家拍的飞虫越多,分数越高. 二.实验目的 综 ...

  9. 太空战机c语言实验报告,c语言课程设计_太空战机提高篇.doc

    c语言课程设计_太空战机提高篇 C语言课程设计--太空战机 一.游戏介绍 太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机.敌方战机从右到左移动,同时上下浮动.同时隔一定的时间发射子弹,我方 ...

最新文章

  1. K12(在线学习的平台)
  2. winform打开cad图纸_CAD打开图纸的方法汇总
  3. 基于用户投票的排名算法(一):Delicious和Hacker
  4. python--通过xpath相对节点位置查找元素(续)
  5. UIView的属性使用
  6. [react] 你有使用过formik库吗?说说它的优缺点
  7. Halcon学习笔记(三)---数据类型
  8. Python complex()
  9. 地铁关门提示音,可使用倒计时
  10. 张小龙 4 小时演讲没时间看?看这一篇就够了!「附赠张小龙历年演讲实录 PDF」...
  11. python源码深度剖析_Python 源码深度剖析
  12. visual studio安装vsix插件
  13. 聊聊身边的嵌入式—英语学习利器点读笔
  14. ipad 的android模拟器,苹果IPAD模拟器(iPadian)
  15. TFS2012 权限设置
  16. one 主格 复数 宾格_主格、宾格、名词所有格
  17. CSS3 SVG波浪线条动画js特效
  18. 2009年网络游戏排行榜
  19. java:去除数组重复元素的四种方法
  20. 计算机毕业设计 移动设备的眼球追踪技术及其应用(源码+论文)

热门文章

  1. python绘制女孩_python女孩基础最后一天—文件操作(IO技术)
  2. 中国社会科学院大学与美国杜兰大学金融管理硕士项目——找寻属于你的那道光
  3. ListView条目item中 添加按钮或者图片 弹出对话框
  4. html制作席慕容的诗,席慕容现代诗歌6首
  5. BT12:从xml创建加载行为树的过程分析
  6. 齐岳(ppz)2Ir(4-tfmBTZ)铱金属配合物红色磷光定制材料
  7. [大话IT]~~~~闲话操作系统
  8. 算法竞赛入门经典第4章 【uvaoj习题(一)】
  9. 密码转换 输入一个大写字母,把它往后移动两个位置加密,即A变C,B变D,X变Z,Z变B
  10. 【专栏精选】热更新之xLua