package main

import (
"fmt"
) func main() { //基本数据类型(默认值)
//如果是java,报错,变量未初始化
var a int
fmt.Println(a) //0
a = 100
fmt.Println(a) //100 //数组(零)
//数组是数据结构
var arr [5]int
fmt.Println(arr) //[0 0 0 0 0]
arr[0] = 1000
fmt.Println(arr) //[1000 0 0 0 0] //切片(空)
//切片是数据结构
var slice []int
fmt.Println(slice) //[] //没有初始化,它也是有底层数组的
//slice[0] = 100 //runtime error: index out of range [0] with length 0
fmt.Println(slice)
slice = []int{1, 2, 3, 4, 5}
fmt.Println(slice) //[1 2 3 4 5] //结构体(默认值)
type Student struct{
Name string
Age int
}
var s Student
fmt.Println("s-->", s) //s--> { 0} //map(nil)
var map1 map[int]int
fmt.Println(map1) //map[]
//map1[10] = 100 //panic: assignment to entry in nil map
//fmt.Println(map1)
map2 := make(map[int]int)
fmt.Println(map2) //map[]
map2[100] = 1000
fmt.Println(map2) //map[100:1000]
i, ok := map2[100] //这个OK也可以不写
fmt.Println(i, ok) //管道(nil)
var c chan int
fmt.Println(c) //<nil>
c2 := make(chan int)
fmt.Println(c2) //0xc000054060
go func() { //不能写在写数据的下面,会发生deadlock,必须有先有消费者,才有生产者
for n := 0; n < 10; n++ {
//i := <-c2
//fmt.Println(i)
v, ok := <-c2 //OK可以不写
fmt.Println(v, ok)
}
}()
for n := 0; n < 10; n++ {
c2 <- n
} }

  

Go_初始化是否为nil的更多相关文章

  1. Swift - 初始化方法返回nil表示初始化失败

    自Swift1.1开始,初始化init方法便有返回nil的能力.我们可以在init声明的时候在其后面加上一个 ? 或者 ! 来表示初始化失败时可能返回nil. 比如,给Int类添加一个将字符串初始化成 ...

  2. Swift中类的初始化器与继承

    初始化是类,结构体和枚举类型实例化的准备阶段.这个阶段设置这个实例存储的属性的初始化数值和做一些使用实例之前的准备以及必须要做的其他一些设置工作. 通过定义构造器(initializers)实现这个实 ...

  3. swift-可选值

    swift的nil和OC有些不一样,OC只有对象可以用nil,swift基础类型(整形,浮点)没有值时也是nil,当初始化的时候,swift可以没有初始值的,产生了可选值Optional. 定义可选值 ...

  4. objective-c 语法快速过(4)

    oc 里的字符串 字符串的快速创建(最简单的方法) NSStirng *str = @“Hello”;//oc的字符串都是@“”形式的 oc的字符串也是类的对象,是NSString类的对象,创建没有那 ...

  5. iOS开发常见BUG和一些小技巧(ps:耐心看完,很实用)

    [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Created by beyond on 15/6/6. // Copyright ...

  6. Object c 基础知识

    文件类型说明:.h 头文件,用于定义类.实例变量及类中的方法等定义信息(interface)..m 源文件,定义方法体,可实现objce-c和c方法(implementation)..mm c++源文 ...

  7. swift:Optional Type 、Swift和Objective-C混编的讲解

    ❤️❤️❤️swift中的Optional Type的?和!含义:其实就是一个装包和拆包的过程 optional的含义: Optional事实上是一个枚举类型,Optional包含None和Some两 ...

  8. Swift 可选值(Optional Values)介绍

    Optional的定义 Optional也是Objective-C没有的数据类型,是苹果引入到Swift语言中的全新类型,它的特点就和它的名字一样:可以有值,也可以没有值,当它没有值时,就是nil.此 ...

  9. Delphi 7 升级到 Delphi 2010 总结

    1 字符串 >>string =unicodeString 字母的处理要定义AnsiString了 >>PChar =PWidechar >>str='普通汉字' ...

随机推荐

  1. PMP--1.1 PMBOK体系框架描述

    PMBOK:Project Management Body Of Knowledge(项目管理知识体系) <PMBOK>中收录被普遍认可的良好实践. 普遍认可:在大部分时候适用于大多数项目 ...

  2. 本地服务器热更新 插件 live-server

    本地服务器热更新 插件 live-server 超级好用 强烈种草一波 无需安装到项目中 使用方法如下: 1.先全局安装live-server: npm i http-server -g 2.在需要热 ...

  3. ubuntu--- tracker/libdeepsort.so 找不到cv报错

    一.刚开始解决尝试:因为“删掉lib下的libdeepsort.so报错”,原先以为是 libdeepsort.so 需要拷贝到 /lib路径下的问题,可是因为后来的工程有的好使,又的不好使了.''' ...

  4. WebGL_0002:palycanvas 配置文件路径

    playcanvas 配置文件路径https://s3-eu-west-1.amazonaws.com/apps.playcanvas.com/wmSPTNhb/config.jsonsence 地址 ...

  5. 动手实现一个同步器(AQS)

    在多线程情景下,如果不会某一共享变量采取一些同步机制,很可能发生数据不安全现象,比如购买车票时,当多个人购买时,不加锁就会产生多人买同一张票的现象,显然这是不可取的.所以要有一种同步机制,在某一时刻只 ...

  6. 什么是json? 什么是xml?JSON与XML的区别比较

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.它是基于 JavaScript Prog ...

  7. 曼孚科技:AI语音交互领域常用的4个术语

    ​语音交互是基于语音输入的新一代交互模式,比较典型的应用场景是各类语音助手. 本文整理了语音交互领域常用的4个术语,希望可以帮助大家更好地理解这门学科. 1. 语音合成标记语言(SSML) 语音合成标 ...

  8. PAT 基础编程题目集 6-7 统计某类完全平方数 (20 分)

    本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144.676等. 函数接口定义: int IsTheNumber ( const int N ); 其中 ...

  9. sqli-labs less-17 --> less-20

    Less-17 (报错盲注) 参考资料1:https://www.cnblogs.com/AmoBlogs/p/8673748.html

  10. 数据库异常:SQL Error: 0, SQLState: S0022

    问题描述 在本地搭建 mysql + MyEclipse + tomcat,系统跑起来之后,调用自己写的查询接口,报错“SQL Error: 0, SQLState: S0022” 具体报错:  -  ...