zoukankan      html  css  js  c++  java
  • 1.0、Go快速入坟系列之变量、常量与算术运算符

    1.x系列主要记录的是所有Go语言的基础语法知识(部分内容较为简单,但笔者想完整的记录整个go语言入门学习过程,一是为了加深印象、二是为了提升文笔),知识点来自于B站大佬solenovex的快速入门视频。讲的言简意赅,直击人心!强烈推荐

    1.0、算术运算符、变量、常量


    算术运算符

    这部分直接水过。。Go和大部分语言一样,提供了+ - * / %(取余)等常见常用的运算符。

    1. 控制台输出运算结果:
      此处需要一提的是Go的打印控制台使用的是fmt包下的PrintPrintln二者的区别在于后者是换行打印。为啥要突然提打印?因为我要用。。。
      下面就是使用Go算术运算符计算后打印到控制台的示例(虽然很简单,但是还是要写出来水字数)

      package main
      
      import (
      	"fmt"
      )
      
      func main() {
      	fmt.Print(1 + 1)   // 加
      	fmt.Print(1 - 1)   // 减
      	fmt.Print(1 * 1)   // 乘
      	fmt.Println(1 / 1) // 除 -换行输出
      	fmt.Println(1 % 1) // 取模-换行输出
          
          fmt.Println("我后面可以接多个参数", 1+1*2/1%3, "不同类型也可以组合成字符串格式")
      }
      

      在控制台输入go run “文件名如:main.go”
      image-20201231005544019
      上图可以看到2011实际上是前面的四个打印语句所输出的内容,因为没有print是不换行的所以粘一块去了。
      最后的打印语句是不是看到了python的身影?不同的类型可以任意放到print中作为参数组合输出,输出的参数与参数之间默认是以空格分割开的,实在不要太方便。

    2. 再讲打印:
      image-20201231010519074
      当我们在编辑器中输入fmt.Pr的时候可以看到列出了三个方法,上图1,3在上面都有运用到,所以应该并不陌生,但是Printf是做啥子的呢?
      Printf提供个格式化打印的功能,简单的一个代码片段既能理解:
      fmt.Printf("I am %v, I love %v ", "Jochen", "Go")
      printf要求第一个参数必须为字符串,其中的%v表示的是占位符,后面的参数按顺序匹配这些占位符,上面的输出结果就是
      image-20201231011253626
      为转移字符,表示换行符,可以看到上图新的命令行是在输出内容的下方出现

      补充:
      占位符可以指定宽度,如%2v表示的向左填充两个空格,如果是负数如-2%v表示向右填充两个空格。所谓填充,是包括占位符所对应的字符串长度的,如fmt.Printf(%3v, "go") 表示的是如果字符串不够3个字符长度,则填充到三个字符,这里因为是3为正数所以是向左填充所以输出的是:
      go (空格go)

    常量与变量

    • Go中使用const作为常量的标识符,常量是不可以改变的

    • Go中使用var作为变量的标识符(接触过js的小伙伴应该非常的熟悉),注意,使用变量首先需要声明。

    image-20201231013117223

    不用多解释了吧,图中示例可以看到,身高是常量,钱包是变量。人生如戏~

    赋值运算符

    赋值、赋值,就是把一个值给一个常量或者变量,上面的等于号=就是赋值符号

    这里需要拓展一些简写方式:

    var height = 1.5
    height +=  2  // 相当于height = height + 2
    height *=  2  // 相当于height = height * 2
    // ...其他符号组合也是这个意思
    

    这里说到运算符需要提一下在其他语言中常见的自增运算符 ++count
    在Go里面是没有这操作的,只有count++

    拓展:随机数生成

    要随机生成某个范围内的数,我们可以使用rand包。improt路径为import math/rand

    package main
    
    import (
    	"math/rand"
    )
    
    func main() {
    
    	var num = rand.Intn(10)  // 生成[0,10)范围的随机数
    }
    
    

    然后本章的内容就差不多到这里了。这里最后要提的是多个变量与常量的声明方式,这里直接看示例就行了

    package main
    
    func main() {
    
    	// 第一种 low声明
    	var a = 100
    	var b = 200
    
    	// 第二种 小low声明
    	var (
    		a = 100
    		b = 200
    	)
    
    	// 第三种 舒服的一批
    	var a, b = 100, 200
    
    	const x, y = 1, 2
    }
    
    

    小伙伴们可以随便选择自己喜欢的代码风格进行常量与变量的声明~

  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/deehuang/p/14214331.html
Copyright © 2011-2022 走看看