zoukankan      html  css  js  c++  java
  • go语言摘记

    基本法则:

    1)在最外部声明的函数、类型、变量都要从其关键字开始。如func、type、var...

    2)任何代码都要以包为单位封装和被调用。

    3)大括号的前括号要在行末,后括号要另起一行行首。

    4)函数内声明的临时变量必须要使用。如要放弃接收变量可使用_符号接收值表示忽略。

    5)最外部声明的函数、类型、变量如果是首字母大写,表示公开,可被其他包使用。小写表示不公开。

    一 包

    1)包名顶行写:

    package 包名

    2)导入用import关键字,多个包可以使用符号()进行组合

    import "包路径"

    3)包名为包路径最后一段名字

    一 变量

    1)标准格式:

    var 变量名 类型

    2)声明时直接赋值可以省略类型,由其自动推导

    3)声明时直接赋值可以省略var,使用:=符号简写。该语法仅能在函数内使用。因为与更高级别的法则冲突:在最外部声明的函数、类型、变量都要从其关键字开始。

    二 函数

    1)标准格式:

    func 函数名(参数1 参数1类型, 参数2 参数2类型) (返回值 返回值类型) {

    }

    2)与声明变量相似的,参数、返回值的类型也要放在名称之后。这样做的理由是更易读,比如当复杂函数做参数传递时。

    3)函数返回值可以多个。也可以给返回值变量命名。

    三 结构

    1)标准格式:

    type 结构名 struct{

        成员变量名 类型,

        ....

    }

    2)结构的创建:省略成员名可以按顺序初始化;不省略名称则不需要顺序。

    3)type可以用来给别的类型起别名。当然之后需要显式转型。

    4)通过.操作符获取结构内的成员。

    四 指针

    1)go有指针类型,用*表示,*出现在类型前方。

    2)go没有指针运算

    3)获取变量的引用通过取地址符&获取。同理可以在类型创建的时候直接&获取其引用。

    4)引用变量的值要通过 *变量名 获取,*出现在变量名前方。

    5)如果是指针类型的结构,可以通过.操作符直接调用类型成员。(*p).Name和p.Name的效果相同。

    五 方法

    1)go没有类,但可以用类型作为函数的接收器实现结构的方法。本质上就是函数的第一个参数为该类型。

    2)不能给除自身包之外的类型添加方法。

    3)方法的语法结构:

    func (接收器变量 接收器类型) 函数名(参数)返回值{

    }

    4)使用方法,就是在类型变量后面使用.操作符。

    5)接收器可以是指针类型。因为go语言的传参本质就是拷贝,所以传递指针类型变量可以用于修改值。效果等同函数。

    6)当使用指针类型接收器的时候,使用方法也可以直接通过.操作符。(*p).Add()和p.Add()的效果相同。

    7)当接收器不是指针类型的时候,引用类型的变量也可以使用.操作符直接调用方法。但是要注意的是go的传参始终都是值拷贝。

    8)上述特性与函数参数不同,函数参数类型必须与声明的参数类型一致,不然无法通过编译。

    六 接口

  • 相关阅读:
    TeamWork#3,Week5,Scrum Meeting 11.16
    TeamWork#3,Week5,Scrum Meeting 11.6, 11.7, 11.11, 11.12
    TeamWork#3,Week5,Scrum Meeting 11.15
    TeamWork#3,Week5,Scrum Meeting 11.14
    TeamWork#3,Week5,Scrum Meeting 11.13
    TeamWork#3,Week5,Scrum Meeting 11.9
    TeamWork#3,Week5,Bing Input Method vs Sogou Input Method
    TeamWork#3,Week5,Scrum Meeting 11.4
    Daily Scrum10 11.14
    Daily Scrum9 11.13
  • 原文地址:https://www.cnblogs.com/pasoraku/p/13755481.html
Copyright © 2011-2022 走看看