• Go语言学习-1


    变量学习

    变量定义

    package main
    
    import(
    	"fmt"
    )
    
    func add(a int, b int) int {
    	var sum int
    	sum = a + b
    	return sum
    }
    
    func main()  {
    	var c int
    	c = add(100, 200)
    	fmt.Println("add(100,200)=",c);
    }
    

    定义变量关键字:var

    变量名称在前,变量类型在后,变量定义完之后都会有初值

    不添加类型的时候,可以根据用户给出的数据类型去判别

    格式化输出和C语言差不多

    在函数体内省略var,可以用:=来代替,用于第一次使用变量定义

    在函数体外不可以省略var

    作用域在包内部,没有全局变量的概念

    int初值 string初值
    0 “”

    可以使用这样来定义多个变量:

    var (
    	aa = 1
    	bb = "Hello World"
    	cc = true
    )
    

    内建变量类型(u:无符号)

    • bool, string
    • (u)int, (u)int8,(u)int16, (u)int32, (u)int64, (u)intpr指针
    • byte, rune(go语言的char类型)
    • float32, float64, complex64(实部和虚部64位), complex128(实部和虚部128位)

    复数回顾:

    简单复数

    验证欧拉公式:

    func complex()  {
    	c := 3 + 4i
    	fmt.Println(cmplx.Abs(c))
    }
    
    func euler() {
    	fmt.Println(cmplx.Pow(math.E, 11i * math.Pi) + 1)
    }
    
    func main()  {
    	complex()
    	euler()
    }
    
    Result:
    5
    (0-2.2056021997384143e-15i)
    
    或者
    func euler() {
    	fmt.Println(cmplx.Exp(11i * math.Pi) + 1)
    }
    

    python实现欧拉公式:

    import cmath
    cmath.exp(1j * cmath.pi) + 1
    

    python实现欧拉公式

    强制类型转换

    类型转换是强制的

    func triangle()  {
    	var a, b int = 3, 4
    	var c int
    	c = int(math.Sqrt(float64(a * a + b * b)))
    	fmt.Println(c)
    }
    

    常量与枚举

    常量

    const定义常量可以不定义类型,也可以定义类型

    const数值可作为各种类型使用

    func consts()  {
    	const filename = "abc.txt"
    	const a, b = 3 ,4
    	var c int
    	c = int(math.Sqrt(a * a + b * b))
    	fmt.Println(filename, c)
    }
    

    枚举 特殊的常量

    iota:表示这组const是自增值

    func enums()  {
    	const (
    		cpp = iota
    		_
    		python = 2
    		golang = 3
    		javascript
    	)
    	// b kb mb gb tb pb
    	const (
    		b = 1 << (10 * iota)
    		kb
    		mb
    		gb
    		tb
    		pb
    	)
    	fmt.Println(cpp, javascript, python, golang)
    	fmt.Println(b, kb, mb, gb, tb, pb)
    }
    
    

    变量定义要点

    • 变量类型写在变量名之后
    • 编译器可推测变量类型
    • 没有char,只有rune
    • 原生支持复数类型
  • 相关阅读:
    js json字符串与json对象互相转换(最全)
    eclipse 离线安装SVN插件(支持eclipse201909)
    eclipse maven项目如何将所有的jar包复制到lib目录下?
    windows/tomcat 修改java虚拟机JVM以utf-8字符集加载class文件的两种方式
    eclipse 设置所有文件编码为UTF-8(最全)
    控制程序的启动数量(限制游戏多开)
    POJ 1719 Shooting Contest(二分图匹配)
    微信企业号开发:消息类型与差别
    Android
    SSI(Server Side Include)简单介绍
  • 原文地址:https://www.cnblogs.com/wxvirus/p/12896776.html
Copyright © 2020-2023  润新知