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. jQuery---表格删除案例

    表格删除案例 on的简单事件 //1. 找到清空按钮,注册点击事件,清空tbody $("#btn").on("click", function () { $( ...

  2. HTML表单概念、语法及创建表单,案例

    form 标签 Input标签的type属性值 单行文本域 <input type="text" /> 图像域(图像提交按钮) 下拉菜单和列表标签 select 标签属 ...

  3. 第6章.BitArray类

    参考链接: https://www.cnblogs.com/wang7/archive/2012/04/13/2446353.html https://www.runoob.com/csharp/cs ...

  4. [TJOI2007] 足彩投注

    足彩投注 题目概述 题目背景 了解足球彩票的人可能知道,足球彩票中有一种游戏叫做"胜负彩",意为猜比赛的胜负.下面是一些与胜负彩有关的术语 注 :每一组有效组合数据. 投 注:彩民 ...

  5. Python三种注释及分行换行输出

    1.单行注释 以#开头,#右边的所有东西都被当成文字说明,而不是真正要执行的程序,只是起到辅助说明作用(#后需要先添加一个空格). 单行注释写到行内代码后边,或者单独一行均可. # 我是单行注释,#号 ...

  6. JMeter-查找元素

    参考文档:https://jmeter.apache.org/usermanual/hints_and_tips.html 有时很难使用变量或包含某个URL或参数的方法在“测试计划”树和元素中找到. ...

  7. Java第三节课总结

    动手动脑1: package ketangceshia;import java.util.Random;public class fuben {    public static void main( ...

  8. array every

    every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试.它返回一个布尔值.

  9. C# ASCII码的转换、转义字符、对照表

    var splitStr = new byte[] { 0x05, 0x0D, 0x0A };//var splitStr = new byte[] { 5, 13, 10 };这样写也可以 var ...

  10. Oracle Solaris 10 重启后提示 Bad PBR sig

    Solaris 10 安装完毕重启后提示 Bad PBR sig 在磁盘分区的时候,默认自带的 overlap 不要删除,否则启动报错. 分区时,保留overlap(默认显示总容量大小)分区.安装操作 ...