首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏权子

    C语言_初级指针(2

    2.当我们知道数组首元素的地址的时候,因为数组是连续存放的,所以通过指针就可以便利访问数组。 3.数组是可以通过指针来访问的。 一、二级指针 2.指针数组 指针数组是指针还是数组?

    31820编辑于 2023-10-10
  • 来自专栏《数据结构》

    初级】C语言——分支和循环语句(2)

    2.建议for语句的循环控制变量的取值采用“前闭后开区间”写法(灵活应用)  3.2.4 for循环的变种 for(;;)//for循环的判断部分省略意味着判断恒成立 { printf("hehe #include<stdio.h> int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 17; //在一个有序数组中查找具体的某个数字 arr[0]); int left = 0; int right = sz - 1; while (left<=right) { int mid = (left + right) / 2;

    74140编辑于 2023-04-16
  • 来自专栏沈钦华的专栏

    go语言入门2

    这节讲一下go语言的变量定义。go是静态语言类型,不像python、php语言,它不能在运行期间改变变量的类型(除非进行类型转换,参见 go语言入门扩展--4种类型转换)。 type // x1,x2为同类型var x1, x2 = val1, val2 // x1,x2可以为不同类型,具体类型由编译器根据右边的值进行推断x1, x2 := val1, val2 // i = 2=号左边计算可确定的内存地址: i, dataList[2] =号右边计算可确定的值: dataList[2] , 222因而这个语句等效于:i, dataList[2] = dataList // 同时提供多个iotaconst (m1, n1 = iota, iota // m1=0 n1=0m2, n2 // m2=1 n2=1m3, n3 = "hello", iota // 打断第一个 ("m1=", m1, "n1=", n1) //m1= 0 n1= 0fmt.Println("m2=", m2, "n2=", n2) // m2= 1 n2= 1fmt.Println("m3="

    56710编辑于 2023-11-28
  • 来自专栏机器学习/数据可视化

    Go语言实战-2

    Go Go语言解决的问题:C和C++执行速度快,Python擅长快速开发,Go兼具二者特点。 编译速度快 内置并发机制 自带垃圾回收机制 用户不用自己管理内存 Go语言使用接口作为代码复用的基础模块 goroutine goroutine像线程,占用内存少;使用一个线程来执行多个goroutine Go语言会自动在配置的一组逻辑处理器上调度执行goroutine chanel 通道chanel内置的数据结构,让用户在不同的goroutine之间同步发送具有类型的消息 通道常用于几个运行的goroutine main main函数保存在名为main的包里;Go`语言中每个代码文件都是一个包 一个包定义一组编译过的代码。包的命名类似命名空间 Go 编译器不允许声明导入某个包却不使用。 标识符: 公开的标识符:大写字母开头,能够直接访问 非公开的标识符:小写字母开头,不能直接访问 初始值问题 在Go语言中,所有变量都被初始化为其零值 数值类型:0 字符串类型:空字符串

    40810发布于 2021-03-02
  • 来自专栏《数据结构》

    初级】C语言——函数

    2.C语言中函数的分类 1.库函数 2.自定义函数 2.1库函数 使用库函数,必须包含 #include 对应的头文件。 //打印100~200之间的素数 //素数是只能被1和他本身整除的数 //7 //1和7整除 //2 3 4 5 6 // int main() { int i = 0; int count = 0 2. 函数的声明一般出现在函数的使用之前。要满足 先声明后使用 。 3. 函数的声明一般放在头文件中。 6.2函数定义 函数的定义是指函数的具体实现,交待函数的功能实现。 2.使用static对象替代 nonstatic 局部对象。 经典例题: 1.汉诺塔 2.青蛙跳台阶

    2.2K10编辑于 2023-04-16
  • 来自专栏《数据结构》

    初级】C语言——数组

    2. 数组的大小可以通过计算得到。 1.4一维数组在内存中的储存 数组在内存中是连续存放的。 2. int arr [ 3 ][ 4 ] = {{ 1 , 2 },{ 4 , 5 }}; int arr [][ 4 ] = {{2,3},{4,5}}; // 二维数组如果有初始化, C 语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的,所以写代码时,要做好越界的检查。 4.数组作为函数参数 数组在传参的时候直接给数组名。 数组传参的时候,形参有两种写法: 1.数组 2.指针 冒泡排序法: #include<stdio.h> //冒泡排序 // // //数组传参的时候,形参有2种写法: //1. 数组 //2. : 1.sizeof(数组名),这里的数组名算的是整个数组的大小,单位是字节 2.

    2.8K20编辑于 2023-04-16
  • 来自专栏《数据结构》

    初级】C语言——指针

    指针理解的2个要点: 1. 指针是内存中一个最小单元的编号,也就是地址 2. printf("%zu\n", sizeof(ps)); printf("%zu\n", sizeof(pi)); printf("%zu\n", sizeof(pd)); return 0; } 2. //0 1 2 3 4 5 6 7 8 9 a b c d e f //0 //1 //10 //11 //100 //1010 //1111 结论: (1)指针类型决定了指针在被解引用的时候访问几个字节 ; printf("%p\n", pc); printf("%p\n", pc+1); printf("%p\n", pi); printf("%p\n", pi+1); return 0; } (2) 指针初始化 2. 小心指针越界 3. 指针指向空间释放及时置NULL 4. 避免返回局部变量的地址 5. 指针使用之前检查有效性 销毁指的是没有那一块内存的使用权限了,并不是没了。 4.

    1.2K30编辑于 2023-04-16
  • 来自专栏JavaEE

    springCloud --- 初级篇(2)

    go语言开发,和eureka一样有web可视化界面。 可以参考https://www.springcloud.cc/spring-cloud-consul.html,有安装和使用文档。 第1次请求时,1 % 2 = 1,实际调用的就是1号服务器;第2次请求时,2 % 2 = 0,实际调用的就是0号服务器。 ,将next = 2 返回,第二轮结束。 ====== index = 1 % 2 = 1, 返回1号服务实例 // =================== 第二轮开始 ==================== index = 2 % 2 = 五、初级篇总结: 1、服务的注册与发现: eureka:不需要自己安装应用,只需要新建服务当作eureka server,其他的服务当作eureka client主机进server即可。

    97510发布于 2020-06-08
  • 来自专栏方丈的寺院

    初级算法(2)-链表

    l2 : l1; } ListNode head = l1.val < l2.val ? l1 : l2; ListNode cur1 = head == l1 ? l1 : l2; ListNode cur2 = head == l1 ? cur1中 next = cur2.next; pre.next = cur2; cur2.next = = head; while (step2 ! = null && step2.next !

    46910发布于 2019-08-05
  • 来自专栏Golang语言社区

    Go语言TCP Socket编程--2

    2、写阻塞 TCP 连接通信两端的OS都会为该连接保留数据缓冲,一端调用Write后,实际上数据是写入到OS的协议栈的数据缓冲的。TCP是全双工通信,因此每个方向都 有独立的数据缓冲。 我们来看一个例子:client5.go和 server.go。 Add(time.Microsecond * 10)) 启动server6.go,启动client6.go,我们可以看到写入超时的情况下,Write的返回结果: $go run client6.go 2015 存在一个业务包数据,1/3内容被goroutine-1读走,另外2/3被另外一个goroutine-2读 走的情况。 本文代码实验环境:go 1.5.1 on Darwin amd64以及部分在ubuntu 14.04 amd64。 本文来自:开源中国博客 感谢作者:徐学良 查看原文:Go语言TCP Socket编程

    4.6K110发布于 2018-03-23
  • 来自专栏好好学习吧

    初识Go语言--(2)Hello World

    新建hello.go文件,内容如下 package main import "fmt" func main() { //输出Hello World fmt.Println("Hello

    48020发布于 2018-12-14
  • 来自专栏ai_houzi

    go语言基础2-函数

    fmt.Println( apply(func(a int, b int) int { return int(math.Pow(float64(a), float64(b))) }, 3, 2)

    57420发布于 2019-04-04
  • 来自专栏陶士涵的菜地

    Go语言圣经--JSON习题2

    1.暂时没有存索引 2.使用协程实现,很快 package main import ( "fmt" "net/http" "os" / 1.暂时没有存索引 2.使用协程实现,很快 */ func main() { var urls []string for i := 0; i < 1000; i++ { var content []Xvcd ch := make(chan string) for _, url := range urls { go

    79730发布于 2019-09-10
  • 来自专栏Golang开发

    Go语言核心编程(2)——函数

    注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记 函数定义 首字母大小写决定函数在其他包的可见性,大写时其他包可见,小写时只有相同的包可以访问。 多个相邻的同类型的参数可以使用简写模式 不支持默认参数 不支持函数重载 实参与形参 Go 函数实参到形参的传递永远是值拷贝,即使是参数是指针也是值拷贝,传递给形参的是这个指针变量的副本, 二者指向同一地址 这有点类似于 Java 语言中异常处理中的 finaly 子句。 defer 常用于保 证一些资源最终一定能够得到回收和释放。 错误处理 Go 语言内置错误接口类型 error。 任何类型只要实现 Eηor() string 方法,都可以传递 eηor 接口类型变量。 Go 语言典型的错误处理方式是将 error 作为函数最后一个返回值 。 在调用函数 时 , 通过检测其返回的 error 值是否为 nil 来进行错误处理。

    1.2K20发布于 2019-05-29
  • 来自专栏《数据结构》

    初级】C语言——结构体

    (结构体嵌套初始化) 2.结构体成员的访问 结构体变量访问成员 结构变量的成员是通过点操作符(.)访问的。点操作符接受两个操作数。

    1.6K20编辑于 2023-04-16
  • 来自专栏Golang语言社区

    Golang语言-cache2go使用

    例子:

    98950发布于 2018-03-21
  • 来自专栏写代码和思考

    Go语言基础2 - 控制语句( if, for, switch )

    概述 我们将用几节来学习Go语言基础,本文结构如下: 控制结构 * If -重新声明与再次赋值 * For * Switch -类型选择 控制结构 Go不再使用 do 或 while 循环,只有一个更通用的 for; switch 要更灵活一点; if 和 switch 像 for一样可接受可选的初始化语句; 此外,还有一个包含类型选择和多路通信复用器的新控制结构 最后,Go没有逗号操作符,而 ++ 和 -- 为语句而非表达式。 Switch 其表达式无需为常量或整数,case 语句会自上而下逐一进行求值直到匹配为止。

    79600发布于 2020-03-16
  • 来自专栏陶士涵的菜地

    Go语言圣经-匿名函数习题2

    breadthFirst(crawl, os.Args[1:]) } /* 抓取页面的所有连接 */ func crawl(url string) []string { sum++ go

    65820发布于 2019-09-10
  • 来自专栏Golang语言社区

    Golang语言情怀-第2Go 语言结构

    今天给大家讲解下Go语言程序的结构,首先我们以Hello World为例子讲解, package main import "fmt" func main() { fmt.Println(" Hello World") } package 为Go语言的包名的关键字,package 后面的main为包名,这个是必须存在的,包括开源项目或者同一项目不同文件夹都有自己的包名,且同一工程中不建议使用名字一样的包名 import为Go语言的倒入基础库或者本地包的关键字,“fmt”为Go语言基础库的包,其中提供控制台输出等函数。 func为Go语言的函数定义的关键字,后面紧跟函数名,且Go语言函数不用声明定制直接可以使用。 fmt.Println("Hello World") 为输出 Hello World 总结:本期只是简单的给大家说明Go语言的结构,及简单的关键字而已;大家如果想熟悉更多的关于Go语言的相关的语法等

    59230发布于 2021-01-12
  • 来自专栏全栈工程师修炼之路

    2.Go语言之标准库学习记录(2)

    [TOC] 0x00 Strconv.字符串类型转换库 描述: Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换,主要可以将字符串类型转换为整型(int32 、int64、int、 ,此处go延续了C语言某些函数用法便于C语言程序员的学习理解,因为C语言中没有string类型而是用字符数组(array)表示字符串。 语言天生是支持并发的,所以为了更好方便开发者的基础使用,Go语言中可以使用Sync包提供基本同步原语,如互斥锁。 ,为了确保关闭通道只执行一次,在Go语言中的sync包中提供了一个针对只执行一次场景的解决方案sync.Once。 Go语言的sync包中提供了一个开箱即用的并发安全版的map就是sync.Map。

    80061编辑于 2022-09-29
领券