内容简介:packages中,以大写字母开头的name是exported name,当import package时,只有exported name可以被从外部访问。同type的连续参数可以只在最后指明type。函数可以有多个返回值。
Packages, variables and functions
Packages
packages中,以大写字母开头的name是exported name,当import package时,只有exported name可以被从外部访问。
Functions
同type的连续参数可以只在最后指明type。
函数可以有多个返回值。
func swap(x, y string) (string, string) { return y, x }
Go支持有name的返回值:
- 函数定义时就定义好返回变量名,在函数内操作返回变量。
- 用naked return语句返回。
func split(sum int) (x, y int) { x = sum * 4 / 9 y = sum - x return }
注意点:文中建议只在短函数中这样使用,因为长了容易影响可读性。
Variables
var关键字定义变量。
有初始值时可以省略type。
技巧及注意点:
- 在函数内,可以使用:=符号替换有初始值的变量定义。
- 但是在函数外,所有语句必须以关键字开始,所以不能使用:=符号。
Basic types
bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr byte // alias for uint8 rune // alias for int32 // represents a Unicode code point float32 float64 complex64 complex128
技巧:
- var和import都可以用小括号声明多个包或变量。
- 文中建议,如无特殊需求,使用int就好,不必指明size或sign。
变量定义时,如不指定初始值,则分配对应type的默认值。
- numeric type: 0
- bool: false
- string: ""
表达式T(v)表示将值v转换成T类型:
var i = 10 var f = float64(i)
注意点:与 C语言 不同,Go必须显式转换。
常量定义将var换成const关键字即可,不过不能使用:=符号。
疑问
- Numeric constants are high-precision values.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
XML 在线格式化
在线 XML 格式化压缩工具
Markdown 在线编辑器
Markdown 在线编辑器