经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Go语言 » 查看文章
Go 入门 - 包,函数和变量
来源:cnblogs  作者:ZihaoWang  时间:2018/10/11 9:24:16  对本文有异议

主要内容来自中文版的同名教程Go语言之旅
其目的为总结要点

包,函数和变量

import 语法,多个用括号换行扩起,包之间不需要间隔符,用引号引起

  1. import (
  2. "fmt"
  3. "math/rand"
  4. )
  5. // 官方认为分组导入比多个导入更好
  6. // 用`.`引用包内对象,仅有首字母大写的那些对象是可导出的

函数

函数声明

  1. func add(x int, y int) int { //类型在变量名之后
  2. return x + y
  3. }
  4. func add(x, y int, s string) int { // 其实输入变量就像是没有var的变量声明一样
  5. fmt.Println(s)
  6. return x + y
  7. }
  8. func swap(x, y string) (string, string) { // 函数的返回值只用声明类型,也可以返回多个值,但是要记住用括号括起来
  9. return y, x
  10. }
  11. func split(sum int) (x, y int) { // 返回值也可以提前声明好,这样就可以直接用了,官方建议这种用法还是用在短函数里面
  12. x = sum * 4 / 9
  13. y = sum - x
  14. return
  15. }

变量

  1. var c, python, java bool // var 可以用在包或者函数级别的声明中
  2. var i, j int = 1, 2 // 变量可以初始化
  3. var c, python, java = true, false, "no!" // 初始化值存在时,可以省略类型
  4. c, python, java := true, false, "no!" // 和上一个等效
  5. var (
  6. c, python bool
  7. java string
  8. ) // 这种操作也是存在的

我们说var =:= 是等价的。但是函数外(包之外)的每一个语句都必须以关键字开头,因此:=这种结构不能用在函数之外。

  1. bool
  2. string
  3. int int8 int16 int32 int64
  4. uint uint8 uint16 uint32 uint64 uintptr
  5. byte // uint8 的别名
  6. rune // int32 的别名
  7. // 表示一个 Unicode 码点
  8. float32 float64
  9. complex64 complex128 // go 支持复数运算

go 的变量需要显示类型转换

  1. var i int = 42
  2. var f float64 = float64(i)
  3. var u uint = uint(f)
  4. // 如果在函数内
  5. i := 42
  6. f := float64(i)
  7. u := uint(f)

常量声明

  1. const World = "世界"

不能用:=,数值常量是高精度的值,有意思的是,他可以被解释成intfloat

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号