A Tour of Go: Basics 1

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

内容简介: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.

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

查看所有标签

猜你喜欢:

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

Iterative Methods for Sparse Linear Systems, Second Edition

Iterative Methods for Sparse Linear Systems, Second Edition

Yousef Saad / Society for Industrial and Applied Mathematics / 2003-04-30 / USD 102.00

Tremendous progress has been made in the scientific and engineering disciplines regarding the use of iterative methods for linear systems. The size and complexity of linear and nonlinear systems arisi......一起来看看 《Iterative Methods for Sparse Linear Systems, Second Edition》 这本书的介绍吧!

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

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具