• Golang学习笔记(一)


    一段基础的go语言代码解析

    package main
    
    import "fmt"
    
    func main(){
        fmt.Println("hello golang")
    }
    
    // 这是一段输出'hello golang'的go代码
    // 一个go文件(后缀名为.go的文件),必须要在一个包(文件夹,package)里
    // 代码开始必须引用一个包,main
    // 这段代码的入口为main()函数
    // 书写一个函数的格式 func 函数名() {
    		// 函数的逻辑代码
    	}
    

    代码书写完毕,怎么去运行代码

    • 第一种(推荐):最开始用cmd进入到当前代码的目录下 ,

      执行 go build 文件名.go ---->>> 它会编译这段代码,生成一个文件名.exe的可执行文件,

      最后执行这个可执行文件就行了。

    • 第二种(不推荐):最开始用cmd进入到当前代码的目录下 ,

      执行go run 文件名.go ----->>> 会直接执行go代码

    总结上面两种方法:

    ​ 1)、方式一和方式二达到的效果是完全相同的,go run 这命令其实就是做了方式一的两步,先编译,再执行代码。但是方式二的执行速度比方式一慢,因为他要进行编译。

    ​ 2)、方式一编译完之后生成的一个可执行的文件,它的大小远远大于那个go文件,这是因为,这个exe文件里有go文件执行需要的一些依赖,你拿着生成的exe(可执行)文件在其他电脑(这台电脑可能没有go语言开发环境)同样是可以执行的。

    Go程序开发的注意事项

    • go文件必须是go为后缀名。
    • go程序的执行入口是main()函数。
    • 严格区分大小写。
    • 每行代码后,可以不加分号,go会自动帮你加上。
    • go语言定义的变量或引用的包,不使用会报错,不能进行编译。

    Go常用的转义字符

    • : 表示一个制表符,通常使用它排版
    • : 表示换行
    • : 转义,最终显示的是 ’‘
    • : 把鼠标光标移到最开始

    练习:使用一行代码实现下面图片的格式

    package main
    
    import "fmt" // fmt包中提供格式化,输出,输入的函数
    
    func main(){
        // 使用一句话输出一个table格式
        fmt.Println("姓名	年龄	籍贯	住址
    朱宇	18	重庆	奉节")
    }
    

    变量

    // 1、定义变量
    // 2、赋值
    // 3、使用变量
    package main
    import "fmt"
    
    func main(){
        // 定义一个int类型的变量名为i
        var i int
        // 将10的内存地址赋值给变量i
         i=10
        // 使用变量
        fmt.Println(i)
    }
    
    // Golang变量使用的三种方式
    // 1)var i int   定义变量指定类型,但是不赋值,会使用默认值
    // 2)var num = 10.10  定义变量不直接类型,直接赋值,程序会自行判断类型
    // 3)name := "朱宇" 省略var 但是:=左边不应该是已经声明过的,否则会报错
    // 4)var n1,n2,n3 int  一次性定义多个变量
    //    var name,age,sex = "朱宇",18,"男"
    //    name,age,sex = "朱宇",18,"男"
    
    // Golang变量使用的注意事项
    // 5)同一区域里的变量在同一类型中可以不断变化
    // 6)在同一作用域中不能重名
    // 7)变量 = 变量名 + 类型 + 值
    

    结构struct

    Go语言不是一门面向对象的语言,没有面向对象的继承,多态和封装,

    但是Go可以通过定义数据结构的方式,也能实现和class相似的功能。

    // 写一个例子,实现和class类似的功能
    type People struct {
        name string
        age int 
        sex string
    }
    // 上面这段代码就定义了一个People的数据结构,有三个属性,name,age,sex,和下面python代码差不多
    class People:
    	def __init__(self,name,age,sex):
    		self.name = name
    		self.age = age
    		self.sex = sex
    
    // 那么在Go语言中怎么对People进行初始化
    // 方式一:初始化出一个叫zhuyu的People实例
    zhuyu := People {
        name:'朱宇',
        age:22,
        sex:'male',
        // 注意:最后sex:'male'后面的逗号(',')必须要加,不然会报错
    } 
    // 方式二:zh := People('张昊',23,'male')
    // 方式三:dsb = People()
    		  
    
  • 相关阅读:
    线程的等待与唤醒
    多线程start()与run()的区别
    Thread与Runnable
    关于i++和++i的一些见解
    Mysql优化(转)
    Java 注解
    Java 泛型(转)
    Java 中的CAS
    CAS ABA问题
    Java 线程池分析
  • 原文地址:https://www.cnblogs.com/zhuchunyu/p/10466525.html
Copyright © 2020-2023  润新知