基础组成

包声明

引入包

fmt.Println("hello world") 会在输出后面自动添加上换行符 \n

fmt 包实现了格式化 IO (输入/输出)的函数

函数

func main() 是程序开始执行的函数。不过当有 init() 函数时,则会先执行 init() 函数。

变量

语句& 表达式

当一个标识符以大写字母开头时,那么使用这种标识符的对象则可以被外部包的代码所使用,这被称之为导出。类似于面向对象中的 Public。如果标识符以小写字母开头时,则对包外是不可见的,对包内是可见并可用的。类似于面向对象中的 protected 。

注释

注意:{ 不可以单独放一行。

语言基础语法

标记

go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。

行分隔符

go 程序中,一行代表一个语句的结束。如果打算多个语句放在同一行,则必须使用 ; 隔开(不过不推荐使用这种方式)。

标识符

一个标识符可以有一个或多个字母或数字,下划线组成的序列。但第一个字符必须是字母或者下划线,不可以是数字。

字符串连接

字符串使用 + 连接

空格

变量的声明必须使用空格隔开。

使用适当的空格可以让程序更易阅读。

变量和运算符中加空格,使程序更美观。

格式化字符串

使用 fmt.Sprintf() 函数格式化字符串并赋值给新字符串

数据数据类型

数据类型用于声明函数和变量。

数据类型的出现是为了数据分成所需内存大小不同的数据。编程的时候需要用大数据时才会申请大内存,就可以充分利用内存。

按类型区分,有以下几种类型

数字类型

字符串类型

布尔类型

派生类型

语言变量

变量来源于数学。是计算机中能储存计算结果或表示值抽象概念。

变量可以通过变量名访问。

语言变量名一般由字母,数字和下划线组成。首字母不可以是数字。

变量声明

声明变量的形式一般使用 var 关键字。

var identifier type

指定变量类型,如果没有初始化,则变量默认为零值(零值即变量没有做初始化时系统默认给的值)。

数值类型为 0

字符串类型为""(空字符串)

布尔类型为 false

以下类型为 nil

var a *int

var a []int

var a map[string] int

var a chan int

var a func(string) int

var a error // error 是接口

根据值自动判定变量类型

var v_name = value

省略 var ,注意 := 的左侧没有声明新的变量,就会产生编译错误。

v_name := value

多变量声明

var v_name1,v_name2 int

// 因式分解关键字的写法多用于声明全局变量时

var (

 v_name1 int

 v_name2 string

)

var v_name1,v_name2 = value1,value2

v_name1,vname2 := value1,value2 // 不带声明格式的只能在函数体内出现

值类型和引用类型

int ,float,string,bool 这些基本类型都是属于值类型,使用这些类型的变量直接指向存在于内存的值。

你可以通过 &i 获取变量 i 的内存地址。值类型的变量的值存储在栈中。

GO 语言中你必须使用所有被声明的变量。全局变量可以只声明不使用。

空白标识符 _ 被用于抛弃值。_ 实际上是一个只写变量,你不能得到他的值。

语言常量

常量是一个简单的标识符。在程序运行中,不会被修改的量。

常量的数据类型只可以是字符串类型,数字类型和布尔类型。

声明格式

const identifier [type]= value

常量还可以用作枚举.

const (

 STATUS_YES = 1

 STATUS_NO = 0

)

常量还可以用 len() caps()等函数计算表达式的值。常量表达式中,常量必须是函数。

iota

iota 是一个特殊常量。可以认为是一个可以被编译器修改的常量。

iota 在 const 关键字出现时将重置为 0,const 关键字每新增一行常量声明将使 iota 计数一次。

语言运算符

算术运算符

运算符 描述

+ 加法运算符

- 减法运算符

* 乘法运算符

/ 除法运算符

% 除法运算符

++ 自增

-- 自减

关系运算符

运算符 描述

== 比较两个值是否相等 ,返回布尔类型

!= 是否不相等 ,返回布尔类型

> 是否大于 ,返回布尔类型

< 是否小于 ,返回布尔类型

>= 是否大于等于 ,返回布尔类型

<= 是否小于等于 ,返回布尔类型

逻辑运算符

运算符 描述

&& 逻辑 AND 运算符 ,返回布尔类型

|| 逻辑 OR 运算符 ,返回布尔类型

! 逻辑 NOT 运算符 ,返回布尔类型

位运算符

假定 A 为60,B 为13:

运算符 描述 实例

& 按位与运算符 (A & B) 结果为 12 ,二进制为 0000 1100

| 按位或运算符 (A | B) 结果为 61 ,二进制为 0011 1101

^ 按位异运算符 (A ^ B) 结果为 49 ,二进制为 0011 0001

<< 左移算符 A << 2 结果为 240 ,二进制为 1111 0000

>> 右移异运算符 A >> 2 结果为 15 ,二进制为 0000 1111

赋值运算符

运算符 描述

= 赋值运算符,将一个表达式得值赋予左值

+= 相加后在赋值

-= 相减后在赋值

*= 相乘后在赋值

/= 相除后在赋值

%= 取余后在赋值

<<= 左移后赋值

>>= 右移后赋值

&= 按位与后赋值

|= 按位或后赋值

^= 按位异后赋值

其它运算符

运算符 描述

& 返回变量的存储地址

* 指针变量

条件语句

语句 描述 注意

if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成。

if..else 嵌套语句 if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。

if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。

switch 语句 switch 语句用于基于不同条件执行不同动作。 执行过程从上到下,直到找到匹配项,匹配项后面也不用加 break。如果我们需要执行后面的 case 可以使用fallthrough

select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月20日

ThinkPHP5快速入门

ThinkPHP5快速入门目 录零、序言一、基础二、URL和路由三、请求和响应四、数据库五、查询语言六、模型和关联 (1)模型定义 (2)基础操作 (3)读取器和修改器 (4)类型转换和自动完成 (5)查询范围 (6)输入和验证 (7)关联 (8)模型输出七、视图和模板八、调试和日志九、API开发十、命令行工具十一、扩展十二、杂项SessionCookie验证

ThinkPHP5快速入门基础

ThinkPHP5快速入门基础一、基础快速入门 ( 一 ) :基础本章介绍了 ThinkPHP5 .0 的安装及基本使用 ,并给出了一个最简单的示例带你了解如何开始开发 ,主要包 含 :简介官网下载 omposer安装和更新CGit下载和更新目录结构运行环境入口文件调试模式控制器视图读取数据总结在学习 ThinkPHP5.0 之前 ,如果你还不理解面向对象和命名空间的概念 ,建议首先去PHP手册恶

热门专题

安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
自考本科|自考本科有用吗,自考文凭,自考本科文凭,自考文凭有用吗,自考本科文凭有用吗,自考文凭承认吗
自考本科
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
昆明综合高中|昆明综合高中
昆明综合高中
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
天麻的功效与作用吃法|天麻的功效与作用,天麻的功效与作用吃法,天麻炖什么治头痛最好,天麻的功效与作用禁忌,天麻多少钱一斤,天麻的功效与作用吃法及禁忌,天麻怎么吃效果最好,天麻粉的功效与作用,天麻怎么吃
天麻的功效与作用吃法
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部