zoukankan      html  css  js  c++  java
  • go语言学习十六

    • go 语言中的 nil 是一个代表引用(切片、映射、通道)、指针、函数、接口 零值的预定义变量。
    • 值类型不可能为 nil . 所以数字、结构体、字符串 不可能为空 (不用担心空指针异常了)
    • 设置 引用变量 = nil 和声明后未赋值的初始化零值状态是一样的。引用类型 = nil 不是未初始化状态,仍可以调用它们的方法获得有意义的值。
    • 指针为 nil 的状态 必须重新指定一个地址,否则不能对 nil 地址位置的值修改操作
    • 接口为 nil 的状态 就是一个空接口,函数为 nil 的状态 不能调用 编译可以通过但是会发生运行时错误。
    /**
    	// nil is a predeclared identifier representing the zero value for a
    	// pointer, channel, func, interface, map, or slice type.
    	// Type must be a pointer, channel, func, interface, map, or slice type
    	var nil Type
    */
    package main
    
    import "fmt"
    
    func main() {
    	
    	//引用 <切片、映射、通道>
    	var x map[string]string //显式初始化为 = nil  和声明类型后不明确赋值效果都是一样的
    	fmt.Println(x)          //map[] , x == nil : true
    
    	var y []int    // = nil
    	fmt.Println(y) //[]  ,  x == nil : true
    
    	//指针
    	var z *int     // = nil
    	fmt.Println(z) //<nil>  , x == nil : true
    
    	//函数
    	var f func(int) int
    	fmt.Println(f) //<nil>  , x == nil : true
    
    	//接口
    	var i interface{}
    	fmt.Println(i) //<nil>  , x == nil : true
    
    }
    
  • 相关阅读:
    python __init__.py
    估算小结
    ssh vim中不小心按下ctrl+s
    估算方法
    SSH 下使vim语法高亮显示 && 终端下vim配置
    not enough arguments for format string搞死人
    函数的形参 实参
    Linux 共享内存机制
    select函数参数及其使用
    找出两个字符串最长公共子串
  • 原文地址:https://www.cnblogs.com/scala/p/9599932.html
Copyright © 2011-2022 走看看