主要内容来自中文版的官方教程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. js判断鼠标滚轴方向(向上或向下)

    var num=1; $(document).on("mousewheel DOMMouseScroll", function (e) { var delta = (e.origi ...

  2. python新建以时间命名的目录

    1.新建三级目录,第一级是去年的年份,第二级是去年的月,第三级为去年的日,在日的文件中写入今年的时分秒 import os import time import shutil def create_f ...

  3. iOS绘图事务的运行验证

    结合WWDC,以我们的call stack为例,来说明这四个过程分别大概都做了什么. layout过程 从上面layout的过程可以看出,其所做的主要任务就是将图层调用代理(也就是视图)实现整个视图层 ...

  4. eclipse 自动生成get/set方法

    Shift+Alt+S 会弹出一个对话框 选择Generate Getters and Setters

  5. Linux 循环遍历文件目录

    操作系统: Unbuntu 问题域:在一个文件目录下,嵌套有多个子目录,需要遍历这些子目录,并在子目录下进行相关操作,譬如:批量重命名,目录下的文件:又或者需要,设定工程目录(mvn versions ...

  6. linq项目中例子实例

    在mvc项目中 var ls = (from i in gt.vendor_login                  join j in gt.vendor on i.vendor_id equa ...

  7. 关于RFID电动车防盗、校园答题卡(超低功耗2.4G芯片SI24R2E)

          Si24R2E 是一颗工作在2.4GHz ISM 频段,专为低功耗有源RFID 应用场合设计,集成嵌入式发射基带的无线发射芯片.128 次可编程NVM 存储器以及自动发射模块.工作频率范围 ...

  8. Dubbo实践(六)Spring加载Bean流程

    根据上一小节对于spring扩展schema的介绍,大概可以猜到dubbo中相关的内容是如何实现的. 再来回顾Dubbo实践(一)中定义的dubbo-provider.xml: <?xml ve ...

  9. 如何利用java程序实现加密所需的公钥、密钥、数字证书

    本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/ ...

  10. 使用 JLINK 的 RTT 功能 进行 调试打印数据

    jlink V9 时,在 SWD 接口 模式 时  ,要 接 SWO 这个引脚 ,否则导致 在 FreeRTOS的任务中不能使用,  正确的 接线方法 是  VCC,GND,SWDIO,SWCLK,S ...