一、文件名、关键字与标识符

1.1 文件名

1、go 的源文件已 .go 为后缀名
2、文件名已小写组成 如:simple.go
3、如多个部分组成可用"_" 分割
4、不要包含有空格等特殊字符

1.2 标识符的命名规则

标识符(包括常量、变量、类型、函数名、结构字段等等)

1、标识符的命名规则:已字母或_开头的字母数字或_的组合
2、_ 有其特殊意义,不可单独使用 无效的标识符:
1ab(以数字开头)
case(Go 语言的关键字)
a+b(运算符是不允许的)

1.3 关键字

  • 25个关键字或保留字(不可做标识符使用)
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
  • 36 个预定义标识符(数据类型时讲解)
append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

二、组成要素

2.1 实例

src/day2/example1/main.go

package main

import "fmt"

var (
num1 int
num2 int
)
func main(){
num1 = 2
num2 =3
/* 我是多行注释 */
fmt.Println(sum(num1,num2))
} // 求和函数
func sum(n1,n2 int)int{
return n1 + n2
}

2.2 解释

  • 定义包名
pakcage main
告知go编辑器 该文件属于main包,同一个文件下可以有多个文件,但包名必须一致(通常包名与文件夹名一致,已便查看)
  • 导入包
import "fmt"
告诉go 编辑器该文件需要使用fmt 包,包一旦导入必须使用,否则程序无法执行
  • 全局变量
var(
num1 int
unm2 int
)
告诉go 编辑器,声明了两个变量,变量在声明阶段就已经初始化值了,int类型的初始值是0
go的变量一旦声明就必须使用否则会报错,不过现在全局变量的声明后可以不使用也不会报错(go1.13),以前是会保错的好像
  • 程序入口
func main(){}
一个程序有且只有一个main函数,这是程序的入口
  • 函数
func sum(int,int)int{}

告诉go 编辑器,main包中定义了一个函数,需要传入两个int类型的变量,返回int 值
  • 调用函数
sum(num1,num2)
fmt.Println() 告诉go 编辑器调用了sum 函数和fmt包中的Println 函数

2.3 执行

go run src/day2/example1
5

2.4 注意

1、函数的语法错误
func sum(n1,n2 int)int
{ // 这样是错误的 { 不能单独放在一行
return n1 + n2
} 2、关于“;”
在大多数语言中,每一行的结尾都是需要已;结尾的,但是go 不需要,因为go编辑器在编译的过程中就已经默认的添加了.

go的语言结构的更多相关文章

  1. 漫谈C语言结构体struct、公用体union空间占用

    先用代码说话: #include<stdio.h> union union_data0{ int a ;//本身占用4个字节 char b ;//本身占用1个字节 int c ; }; u ...

  2. 解析C语言结构体对齐(内存对齐问题)

    C语言结构体对齐也是老生常谈的话题了.基本上是面试题的必考题.内容虽然很基础,但一不小心就会弄错.写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的 ...

  3. 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符

    [源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...

  4. (转)PHP的语言结构和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...

  5. php入门 数据类型 运算符 语言结构语句 函数 类与面向对象

    php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...

  6. Go语言结构体(struct)

    Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型. 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合. 结构体表示一项记录,比如保存图 ...

  7. C语言结构体定义的几种方法

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...

  8. 对嵌入式开发C语言结构体的一点总结

    今天冬至居然不上班,公司的良心啊!这回有心情写博客和日志了,好了,废话不多说.直接看下文: 鉴于嵌入式开发过程中,C语言结构体的使用当然是必不可少.话说,基础什么的比你会更牛逼的算法更重要,基础不牢, ...

  9. C语言结构体变量私有化

    操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 问题描述 C语言结构体定义中的变量默认是公有(Public)属性,如果实现成员变量的私有(Private)化? 解决方案 ...

  10. 在C语言结构体中添加成员函数

    我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...

随机推荐

  1. Redis 之order set有序集合结构及命令详解

    1.zadd key score1 value1 score2 value2  添加元素 2.zrem key value1 value2 ..  删除集合中的元素 3.zremrangebyscor ...

  2. 【转载】使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

  3. openstack——horizon篇

    一.horizon 介绍:       理解 horizon   Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashB ...

  4. thinkphp里模版文件js无法使用if condition的问题

    /**     * @example   thinkphp里模版文件js无法使用if condition的问题     * @example  参考地址:https://segmentfault.co ...

  5. [API 开发管理] 分享几个 eoLinker 实用操作技巧

    一键离线导出项目,PDF.WORD等格式任你挑选 举例说明,如果我要将 "示例素材项目" 导出到本地,并且以 PDF 的格式保存. 首先找到该项目所在空间:演示空间,在左边一级菜单 ...

  6. koji

    fedora koji https://koji.fedoraproject.org/koji/ centos cbs.centos.org/koji/

  7. PatentTips – RDMA data transfer in a virtual environment

    BACKGROUND Embodiments of this invention relate to RDMA (remote direct memory access) data transfer ...

  8. 用c++编程:用两个栈实现队列

    栈s1和栈s2,栈s1专门为入队,栈s2专门为出队. 入队: 当s1和s2都为空时,直接入队s1. 当s1为空,s2不为空时,把s2的元素都倒回s1,然后再入队s1 出队: 当s2不为空时,直接出队s ...

  9. 洛谷 P2084 进制转换

    P4122 [USACO17DEC]Blocked Billboard 题目描述 During long milking sessions, Bessie the cow likes to stare ...

  10. CSDN挑战编程——《绝对值最小》

    绝对值最小 题目详情: 给你一个数组A[n],请你计算出ans=min(|A[i]+A[j]|)(0<=i,j<n). 比如:A={1, 4, -3}, 则: |A[0] + A[0]| ...