主要内容来自中文版的官方教程Go语言之旅

目的为总结要点

包,函数和变量

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

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

函数

函数声明

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

变量

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

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

bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr byte // uint8 的别名 rune // int32 的别名
// 表示一个 Unicode 码点 float32 float64 complex64 complex128 // go 支持复数运算

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

var i int = 42
var f float64 = float64(i)
var u uint = uint(f)
// 如果在函数内
i := 42
f := float64(i)
u := uint(f)

常量声明

const World = "世界"

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

Go 入门 - 包,函数和变量的更多相关文章

  1. Go语言从入门到放弃(一) 变量/常量/函数

    HelloWorld 我们先看看一个最简单的HelloWorld代码 package main import "fmt" func main() { fmt.Println(&qu ...

  2. Python 包、模块、函数、变量作用域

    Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量   Python是利用包和模块来组织一个项目的.   包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包, ...

  3. Python(五) 包、模块、函数与变量作用域

    一.while循环与使用场景 CONDITION=1 while CONDITION <=5 : CONDITION +=1 print("hello") else: pri ...

  4. Python3(五) 包、模块、函数与变量作用域

    一.Python项目的组织结构 最顶级的组织结构:包(文件夹) 第二个层级:模块(文件) 第三个层级:类 第四个层级:函数.变量(不属于组织结构,是类本身的特性) 二.Python包与模块的名字 1. ...

  5. Python入门之 函数

    Python入门之 函数 1.初识函数 1.1 什么是函数? <1> 将某个功能封装到一个空间中就是一个函数 <2> 减少重复代码 1.2 定义函数 def -- python ...

  6. 查看Linux下*.a库文件中文件、函数、变量等情况

    在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包 含哪些文件.函数.变量: 1. 查看文件:ar -t *.a 2. 查看函数.变里:nm *.a

  7. 查看Linux下*.a库文件中文件、函数、变量

    查看Linux下*.a库文件中文件.函数.变量等情况在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包 含哪些文件.函数.变量: 1. 查看文件:ar -t xxx.a 2. ...

  8. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

  9. Python入门学习:1.变量和简单的数据类型

    python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用   变量,顾名思义是一个可变的量, ...

随机推荐

  1. Python学习---网络编程 1217【all】

    OSI七层模型: 物理层, 数据链路层, 网络层,传输层,会话层,表达层,应用层 应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 传输层:TCP,UDP 网络层:I ...

  2. Azure之旅

    http://www.microsoft.com/web/downloads/platform.aspx http://www.microsoft.com/en-us/download/details ...

  3. December 16th 2016 Week 51st Friday

    My life is a straight line, turning only for you. 我的人生是一条直线,转弯只是为了你. My life is a straight line that ...

  4. Tsql 获取服务器信息

    Tsql 获取服务器属性,如服务器版本.服务器名 ref:http://technet.microsoft.com/zh-cn/library/ms174396.aspx select serverp ...

  5. 转贴:如何学好C++语言.docx

    不知道哪里转的.呵呵 抱歉 C++是最难的语言.这个世界上最难的编程语言可能非C++莫属了.你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章.C++是一门很自由的语 ...

  6. TCP/IP 协议图--TCP/IP 基础

    1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议.实际生活当中有时也确实就是指这两种协议.然而在很多情况下,它只是利用 IP 进行通信时所 ...

  7. css计数器 及 鼠标经过从中间扩散一个矩形(正方形长方形均可)

    <!DOCTYPE html> <html> <head> <title>css计数器--兼容IE8</title> <meta ch ...

  8. centos 7.0 查看selinux状态|关闭|开启

    Linux在安装好之后通常SELinux都是出于默认开启的状态,开启的情况下会导致一些服务的安装不成功. 在不需要的情况下完全可以关闭掉,下面是在centos 7.0里面如何查看,关闭selinux. ...

  9. python中基于descriptor的一些概念(下)

    @python中基于descriptor的一些概念(下) 3. Descriptor介绍 3.1 Descriptor代码示例 3.2 定义 3.3 Descriptor Protocol(协议) 3 ...

  10. Java集合源码 -- List列表

    List概述 List是一个有序,可重复的集合,可以在List的中间插入和移除元素,根据整数索引访问元素 下图是List集合的框架图 下面是对上图的简单介绍 AbstractCollection: 提 ...