zoukankan      html  css  js  c++  java
  • go的语言结构

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

    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编辑器在编译的过程中就已经默认的添加了.
    
  • 相关阅读:
    什么是脚本语言?什么是解释性语言?什么是编译性语言?
    自己写的java excel导出工具类
    httpclient模拟post请求json封装表单数据
    git 远程库命令
    git 常用命令及解析 由浅入深
    图书馆借书(年,月,日)
    线索二叉树
    AxB Proplem(大数乘法)
    简易版最长序列(map映射)
    小黑跳地毯减肥(递推)
  • 原文地址:https://www.cnblogs.com/xiaobaiskill/p/10577297.html
Copyright © 2011-2022 走看看