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

    Go语言技巧 - 5.【初探Go Module】Go语言的版本管理

    Go Mod的官方说明 Go语言自从推出了go mod作为版本管理工具后,结束Go语言版本管理工具的纷争,实现了大一统。 相信有很多人都对这个版本管理的机制都有基础的概念、但并不深入。 快速入门 - 5篇介绍Go Mod系列的官方博客 新手直接阅读这篇文章的门槛有点高,我建议可以先看看下面这五篇较为通俗的官方博客,能帮助我们了解一些背景知识。 我个人感觉升级到v2这种方式不太友好,需要我们再维护一整个目录 5. module-compatibility https://blog.golang.org/module-compatibility mod init指令定义的库名 go - 要求go语言的最低版本,会影响到后面依赖库的下载 require - 必备库,也就是代码中直接import的部分 replace - 替换库,在重构时挺好用( 我经常会去手动编辑go.mod文件,然后用这个指令刷新一下依赖库 整理依赖go mod tidy 整理并更新go mod的依赖信息,保证当前的go.mod为最新。

    1.1K40发布于 2021-08-05
  • 来自专栏XinChen's Tec

    GoLang5 - Go语言常量

    Go 语言常量 常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 多个相同类型的声明可以简写为: const c_name1, c_name2 = value1, value2 常量的应用: ```java package main import "fmt" // Go 语言常量 func main() { const LENGTH int = 10 const WIDTH int = 20 var area int const a, b

    30710编辑于 2023-02-27
  • 来自专栏Golang开发

    Go语言核心编程(5)——并发

    注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记 并发和并行是两个不同的概念: • 并行意味着程序在任意时刻都是同时运行的。 • 并发意味着程序在单位时间内是同时运行的。 goroutine 通过 go+匿名函数形式启动 goroutine 通过 go+有名函数形式启动 goroutine 特点 go 的执行是非阻塞的,不会等待 。 Go 程序在执行时会单独为 main 函数创建一个 goroutine ,遇到其他 go 关键字时再去创建其他的 goroutine 。 goroutine是Go语言里面的并发执行体,通道是 goroutine之间通信和同步的重要组件。 Go的哲学是“不要通过共享内存来通信,而是通过通信来共享内存”,通道是Go通过通信来共享内存的载体。

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

    Golang语言情怀-第5Go 语言常量

    本期给大家梳理下Go语言常量,常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 const identifier [type] = value 同时也支持多个相同类型的声明可以简写为: const c_name1, c_name2 = value1, value2 常量使用距离,实现Go // Proxy2G_ConnDataProto == 4 G2Proxy_SendDataProto // G2Proxy_SendDataProto == 5 总结:Go语言中没有枚举,所以一般在一定枚举都是用常量来定义。 ? Golang语言情怀 ID:wwwGolangLtd www.Golang.Ltd 游戏服务器架构丨分布式技术丨大数据丨Go语言学习

    53620发布于 2021-01-12
  • 来自专栏开发语言-Go

    Go语言学习5-切片类型

    引言 上篇我们介绍了 Go 语言的 《数组类型》,本篇将介绍 Go 语言的切片类型。主要如下: 主要内容 切片可以看作是对数组的一种包装形式。切片包装的数组称为该切片的底层数组。 切片类型声明中的元素类型也可以是任意一个有效的 Go 语言数据类型。例如: []rune 如上用于表示元素类型为 rune 的切片类型。 同样可以把一个匿名结构体类型作为切片类型的元素类型。 "", 2: "Swift", 3: "Java", 4: "C", 5: "C++", 6: "PHP", 7: "", 8: "Go"} 3. "UltraEdit", "Eclipse"} sliceB := []string{"Vim", "Emacs", "LiteIDE", "IDEA"} 使用 Go 语言的内建函数 copy,将变量 变量 n1 的值为 3 , 变量 sliceA 的值被修改为: []string{"Vim", "Emacs", "LiteIDE"} 总结 本篇介绍了 Go 语言的 切片类型,下一篇介绍 Go 语言的字典类型

    49010编辑于 2024-08-07
  • 来自专栏ai_houzi

    go语言基础5-数组、切片、容器

    数组 实例 var arr1 [5]int //定义长度为5的数组 arr2 := [3]int{1,2,3} //使用:时需要赋值 arr3 := [...]int{2,3,4,5} //可变长度 var grid [4][5]int //二维数组 数组类型是值类型 调用func f(arr [10]int) 会拷贝数组 go语言中一般不直接使用数组 切片(Slice) 实例 arr := [...]int{0,1,2,3,4,5,6,7} s := arr[2:6] //s即为切片,值为[2 3 4 5] //Slice的写法 arr[2:6]= [2 3 4 5] arr[:6]= [0 1 2 3 4 5] arr[2:]= [2 3 4 5 6 7] arr[:]= [0 1 2 3 4 5 6 7] //------------------------------------ 11) s5 := append(s4, 12) s3, s4, s5 = [5 6 10] [5 6 10 11] [5 6 10 11 12] arr = [0 1 2 3 4 5 6 10] /

    52520发布于 2019-04-04
  • 来自专栏希里安

    Go语言中的5种常用加密方法

    --oschina Go语言中的5种常用加密技术 在数字时代,数据安全变得至关重要。Go语言以其简单、高效、易于部署的特点被广泛应用于服务器端编程。 今天,我们将探索Go语言在加密领域的5种常用函数,这些技术能帮助开发者保护用户数据,防止未经授权的访问。 1. MD5散列 MD5,即Message-Digest Algorithm 5,一度是最流行的散列函数之一,主要用于生成数据的指纹。 语言中的实现简洁高效,无论是开发Web应用、微服务还是任何需要安全措施的系统,都可以依靠它们确保数据的安全性。 希望本文能够帮助你在Go项目中实现更安全的数据处理。 安全是一个不断发展的领域,选择正确的加密方法和实践对保护你的应用至关重要。尽管某些散列函数如MD5已不再安全,但它们在非安全环境中仍然有其用处。

    1K10编辑于 2023-12-26
  • 来自专栏python3

    Go语言】【3】GO语言常量

      通常情况下语言入门前会讲一堆背景和特性,目的是为了能让学习者对该语言有一个大概的认识,但这里我想直接进入细节,不是因为任性,而是因为常量是编程语言最基本的组成元素,这与语言背景无关。 当然可以,要知道GO语言是最懂程序员的哟 :) const PI = 3.1415926535897932 const EluerE = 2.718281828459045 const value = GO是怎么区分常量/变量是对内还是对外的呢? ---- 【编后话】: 开始接触GO,感觉它就是一个大杂烩,里面即有C语言的影子,也有Java语言的影子,也有JavaScript脚本的影子,同时还有Pascal语言的痕迹,但使用使用着感觉这符合人的正常思维 借用知乎用户的话讲:GO语言是一门看似简单实际并不简单,貌似外表丑陋实则另有考究的语言。 ----

    2.4K10发布于 2020-01-07
  • 来自专栏日积月累1024

    go in action》第5章(Go语言的类型系统)读书笔记

    Go语言里有两种类型的接收者: 值接收者和指针接收者。 值接收者使用值的副本来调用方法,指针接收者使用实际值来调用方法。 5.3 类型的本质 5.3.1 内置类型 内置类型是由语言提供的一组类型。 5.3.2 引用类型 Go语言里的引用类型有如下几个:切片、映射、通道、接口和函数类型。当上声明述类型的变量时,创建的变量被称作标头值。每个引用类型创建的标头值是包含一个指向底层数据结构的指针。 /listing36.go:32: cannot use u (type user) as type // notifier in argument to sendNotification 将工厂函数命名为New是Go语言的一个习惯。 即便内部类型是未公开的,内部类型里声明的字段依旧可以是公开的。当内部类型提升到了外部类型,这些公开的字段就可以通过外部类型的字段值来访问。

    39320发布于 2021-02-24
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言数组

    Go编程语言提供称为数组的数据结构,其可存储相同类型的元素的一个固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。 声明数组 要声明在Go语言数组,程序员指定元素的类型以及如下的数组所需元件的数目: var variable_name [SIZE] variable_type 这就是所谓的一维数组。 初始化数组 你可以用一个Go初始化数组一个或者使用单一的声明如下: var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0} 括号之间的数{}的值不能比声明方括号 = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109 数组是很重要的在Go语言中,应该需要了解更多的细节。 有下列关系到数组几个重要的概念Go程序员是应该清楚的: 概念 描述 多维数组 Go支持多维数组。

    2K150发布于 2018-03-20
  • 来自专栏从流域到海域

    Go语言起源 【Go语言圣经笔记】

    Go语言起源 以下早期语言Go语言的设计产生了重要影响: C Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。 Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。 Rob Pike尝试将CSP引入实际的编程语言: Squeak(老鼠间交流的语言)管道静态创建 进版的Newsqueak语言 提供了类似C语言语句和表达式的语法和类似Pascal语言的推导语法 带垃圾回收的纯函数式语言 Alef -> Limbo http://talks.golang.org/2012/concurrency.slide#9 APL iota Scheme 词法作用域与嵌套函数 Go 中的创新设计: 切片 为动态数组提供了有效的随机存取的性能 链表的底层共享机制 defer语句 参考文献 Go语言圣经(简体中文版)

    1.2K20编辑于 2021-12-06
  • 来自专栏从流域到海域

    Go语言指针 【Go语言圣经笔记】

    摘自:Go语言圣经(简体中文版) 2.3.2 指针 一个变量对应一个保存了变量对应类型值的内存空间。 var x, y int fmt.Println(&x == &x, &x == &y, &x == nil) // true false false 在Go语言中,返回函数中局部变量的地址也是安全的 例如下面这个例子就是通过指针来更新变量的值,然后返回更新后的值,可用在一个表达式中(译注:这是对C语言中++v操作的模拟,这里只是为了说明指针的用法,incr函数模拟的做法并不推荐): func incr 指针特别有价值的地方在于我们可以不用名字而访问一个变量,但是这是一把双刃剑:要找到一个变量的所有访问者并不容易,我们必须知道变量全部的别名(译注:这是Go语言的垃圾回收器所做的工作)。 $ go build gopl.io/ch2/echo4 $ ./echo4 a bc def a bc def $ ./echo4 -s / a bc def a/bc/def $ .

    95710编辑于 2021-12-06
  • 来自专栏Golang语言社区

    Go 语言社区】Go 语言Map(集合)

    Go 语言Map(集合) Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

    1.5K90发布于 2018-03-20
  • 来自专栏码洞

    《快学 Go 语言》第 5 课 —— 神奇的切片

    切片无疑是 Go 语言中最重要的数据结构,也是最有趣的数据结构,它的英文词汇叫 slice。 所有的 Go 语言开发者都津津乐道地谈论切片的内部机制,它也是 Go 语言技能面试中面试官最爱问的知识点之一。初级用户很容易滥用它,这小小的切片想要彻底的理解它是需要花费一番功夫的。 Go 语言还提供了另一个种创建切片的语法,允许我们给它赋初值。使用这种方式创建的切片是满容的。 (s), cap(s)) } --------- [1 2 3 4 5] 5 5 Go 语言提供了内置函数 len() 和 cap() 可以直接获得切片的长度和容量属性。 函数 Go 语言还内置了一个 copy 函数,用来进行切片的深拷贝。

    52220发布于 2018-12-13
  • 来自专栏Golang语言社区

    Go 语言社区】 HTML5 前端--数据保存实例

    保存数据--->到本地s.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>         <meta charset="UTF-8">         <title>本地缓存<

    1.4K40发布于 2018-03-19
  • 来自专栏数据小冰

    Go语言中常见100问题-#5 Interface pollution

    接口污染 在Go语言中,接口是我们设计和编写代码的基石。然而,像很多概念一样,滥用它是不好的。接口污染是指用不必要的抽象来编写代码(刻意使用接口),使得代码更难以理解。 这是具有不同习惯,特别是有其它语言开发经验的人会犯的一个常见错误。在深入讨论接口污染之前,让我们重新梳理一下Go语言的接口,然后分析何时使用接口以及在什么时候使用会存在污染问题。 Go语言中接口有点特别,不像其它语言通过类似于implements关键字显示的标记对象X实现了接口Y, 它是隐式实现的。 接口如此灵活强大的原因是什么呢? 语言中有一句名言描述了接口粒度问题: ❝接口越大,抽象越弱 ❞ 向接口中添加方法会降低它的可重用性。 接口污染 有其他语言经验的人,像C#或Java背景的人,在具体类型之前创建接口对他们来说是很自然的。然而,在Go项目中这是在过度使用接口,不是推荐做法。 正如我们所讨论的,接口是用来创建抽象的。

    64420编辑于 2022-12-18
  • 来自专栏GoLang全栈

    Go语言加密-MD5,BASE64加密

    于是我录制了2个Go语言中加密的视频,希望大家能喜欢,后续会完善其他加密算法的录制。 1、Md5加密 Md5加密他是不可逆的算法,由于他不管什么样的数据进行加密,最后输出的都只会是一串32位的字符串,于是常被用于密码加密或者文件指纹计算。

    86730编辑于 2022-05-10
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言范围规则

    有三个地方变量可以在Go编程语言声明如下: 内部函数或这就是所谓的局部变量块 所有函数的外面的变量称为全局变量 在这被称为形式参数函数的参数的定义 让我们来解释一下什么是局部和全局变量和形式参数。

    1.1K110发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go语言类型转换

    package main import "fmt" func main() { var sum int = 17 var count int = 5 var mean float32 maen =

    1.4K140发布于 2018-03-20
  • 来自专栏Golang语言社区

    Go 语言社区】Go 语言函数--转

    Go 语言函数 函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数字,则返回数组中包含的函数个数。 ---- 函数定义 Go 语言函数定义格式如下: func function_name( [parameter list] ) [return_types] { 函数体 } 函数定义解析: func:函数由 num1 } else { result = num2 } return result } 以上实例在 main() 函数中调用 max()函数,执行结果为: 最大值是 : 200 函数返回多个值 Go 默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

    1.6K80发布于 2018-03-20
领券