A Tour of Go: Basics 1

栏目: Go · 发布时间: 6年前

内容简介: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关键字即可,不过不能使用:=符号。

疑问

  1. Numeric constants are high-precision values.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UML风格

UML风格

布格勒 / 袁峰 / 2008-12 / 35.00元

《UML风格(第2版)(英汉对照)》给出了一系列有效提高团队生产效率的编程风格的原则,描述了创建简洁、易于理解的UML图的标准和指南,涉及类图、定时图、用例图、组合结构图、顺序图、交互概览图、活动图、对象图、状态图、包图、通信图、部署图和组件图等内容。著名UML专家Scott W.Ambler描述了创建UML图的标准和指南,以帮助建模人员创建简明而易于理解的UML 图形。 《UML风格(第2......一起来看看 《UML风格》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换