zoukankan      html  css  js  c++  java
  • 基础认知

    • 注释

    // 单行注释
    /*
     多行注释
     */
    
    • 25个关键字

    • 36个预定义标识符

    • 空格

    变量的声明必须用空格隔开
    var age int

    • 变量的声明

    只声明变量,不赋值将返回各类型的空值

    数值类型(包括complex64/128)为 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 是接口
    所以说,go中的空并不能直接等于nil
    
    • 自动推导类型

    var i = 1
    fmt.Printf("%T",i) >>> int
    i := 1
    fmt.Printf("%T",i) >>> int
    这两种方式是相同的
    
    • 多变量声明

    //类型相同多个变量, 非全局变量
    var vname1, vname2, vname3 type
    vname1, vname2, vname3 = v1, v2, v3
    
    var vname1, vname2, vname3 = v1, v2, v3 // 和 python 很像,不需要显示声明类型,自动推断
    
    vname1, vname2, vname3 := v1, v2, v3 // 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误
    
    • 常量

    常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

    可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。
    显式类型定义: const b string = "abc"
    隐式类型定义: const b = "abc"
    常量还可以用作枚举:
    const (
        Unknown = 0
        Female = 1
        Male = 2
    )
    数字 0、1 和 2 分别代表未知性别、女性和男性。
    
    • 运算符

    算术运算符

    var a = 10
    a--
    a >> 9
    a++
    a >> 10
    
    • 关系运算符


    跟python差不多
    注意,只能同类型的进行关系比较,如果int 类型与string类型进行比较,编译不过,提示 (mismatched types int and string)

    • 逻辑运算符

    &&    >>  and
    ||    >>  or
    !     >>  非   (!true) >>false
    

    • 位运算符


    异或的理解:按位异或运算符,参与运算的两个二进制对应位进行异或,两数位相同,异或得0,两数位不同时,异或得1.

    • 赋值运算符

    • 其他运算符


    • 条件语句


    go没有三目运算符,所以不支持?:形式的条件判断


    • swithch




    匿名变量
    就是没有名字的变量,在使用多重赋值的时候,如果不需要在左侧接受变量,就可以使用匿名变量

    函数名还可以有空格?

  • 相关阅读:
    (一)Sturts2概述
    day18,常用的模块,os,sys...等
    day17,模块的导入
    day16
    day15
    day14
    day13
    day12
    day11
    day10
  • 原文地址:https://www.cnblogs.com/cizao/p/11481994.html
Copyright © 2011-2022 走看看