Loading

邢栋博客

“程序积累“

关于golang值的内存寻址

go语言哪些值不可以寻址 1.常量的值。 2.基本类型值的字面量。 3.算术操作的结果值。 4.对各种字面量的索引表达式和切片表达式的结果值。不过有一个例外,对切片字面量的索引结果值却是可寻址的。 5.对字符串变量的索引表达式和切片表达式的结果值 6.对字典变量的索引表达式的结果值。 7.函数字面量和方法字面量,以及对它们的调用表达式的结果值。 8.结构体字面量的字段值,也就是对结构体字面量的选择表达式的结果值。 9.类型转换表达式的结果值。 10.类型断言表达式的结果值。 11.接收表达式的结果值。 总结:不可变的、临时结果和不安全的 1.不可变的值不...

golang笔记之Printf函数

package main import "fmt" import "os" type point struct { x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。 p := point{1, 2} fmt.Printf("%v\n", p) // {1 2} // 如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。 fmt.Printf("%+v\n", p) // {x:1 y:...

golang笔记之值类型和引用类型

值类型:所有像int、float、bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中。当使用等号=将一个变量的值赋给另一个变量时,如 j = i ,实际上是在内存中将 i 的值进行了拷贝。可以通过 &i 获取变量 i 的内存地址。 引用类型:复杂的数据通常会需要使用多个字,这些数据一般使用引用类型保存。一个引用类型的变量r1存储的是r1的值所在的内存地址(数字),或内存地址中第一个字所在的位置,这个内存地址被称之为指针,这个指针实际上也被存在另外的某一个字中。 局部变量被声明后必须在相...

php的IteratorAggregate简单事例

<?php //IteratorAggregate Generators //事例(一) class Language implements IteratorAggregate{ private $names; public function __construct(){ $this->names = explode(',','PHP,JS,JAVA,GO'); } public function getIterator(){ ...

数据结构以及常用数据结构的定义

数据:描述客观事物的符号,如文本、图片、视频 数据元素:组成数据的,有一定意义的基本单位 数据项:一个数据元素可以由若干个数据项组成 数据对象:性质相同的数据元素的组合 数据结构:数据结构是计算机用来组织和存储数据的方式。具体定义:数据结构是指相互之间存在着一种或者多种关系的数据元素的集合和该集合中数据元素的关系组成 数据结构 逻辑结构 1.线性结构 (线性表、栈、队、串、数组) 2.非线性结构 树结构和图结构 物理(存储)结构 1.顺序结构 2.链式结构 3.索引结构 4.散列结构 数据运算 1.插入运算 2.删除运算 3.修改运算 4.查找运算 5...

php实现单链表

<?php class node{ //初始化变量,包括存储的内容和下一个数据的指针 public $id = 0; public $data = ''; public $next = null; //构造函数,设置存储内容的数据 public function __construct($id,$nodedata){ $this->id = $id; $this->data = $nod...

php使用mongo的GridFS存储文件

<?php //php使用mongo的GridFS存储文件 $conn = new MongoClient(); $db = $conn->photos; $collection = $db->getGridFS(); //存储文件 $id = $collection->storeFile('./logo22.png'); //存储文件二进制流 // $data = file_get_contents('./logo22.png'); // $id = $co...

php实现http401授权

<?php //unset($_SERVER['PHP_AUTH_DIGEST']); $username = 'xingdong'; //用户名 $userpass = '123456'; //面膜 $secret = 'xingdong365'; //秘钥 $realm = '401test'; $opaque = md5($secret.$_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR']); if (!isset($_SERVER['PHP_AUTH_DIGEST']) || emp...

php代码执行过程简述

php代码的执行过程 扫描->解析->编译->执行->输出 1.扫描(scanning) 将index.php内容变成一个个语言片段(token) <?php $code =<<<'PHP_CODE' <?php //这是注释 echo "hello world\n"; $data = 1+1; eval("echo 'Inception lvl 1...\n';"); echo $data; PHP_CODE; echo "<pre>"; print_r(token_get_all($c...

关于shell函数的简单总结说明

shell函数说明 1.函数调用时,脚本的位置函数($* $@ $# $1...)会被替换为函数的参数,函数执行完毕后,会恢复原值 2.函数中的变量默认为全局作用域,除非使用local关键字定义 3.通过return 命令可以让函数返回数字值,常用于表示函数执行是否成功。如果返回字符串值,则需要在函数中使用echo,然后再在函数外使用$()捕获;或者将字符串存在一个变量中,函数执行完毕后读取该变量 4.如果函数中没有使用 return 指定返回值,则函数返回值为最后一条命令的退出码($?捕获返回值) 5.简单事例 #!/bin/bash foo() { ...