首页 > 其他分享 >go模拟三元表达式最简单的方式

go模拟三元表达式最简单的方式

时间:2023-04-24 09:47:19浏览次数:449  
标签:map fmt 使用 go 三元 表达式

众所周知,Go语言本身并没有提供内置的三元表达式,但是我们可以使用一些技巧来模拟实现。下面是使用最短的代码实现Go的三元表达式:

package main

import "fmt"

func main() {
    x := 10
    y := 20
    max := map[bool]int{true: x, false: y}[x > y]
    fmt.Println(max)
}

在这个例子中,我们使用了一个map结构,将布尔值映射为对应的整数值。然后,我们根据比较a和b的值的结果,从这个map中获取对应的整数值作为返回值,从而实现了三元表达式的逻辑。由于这个方法使用了map结构,代码相对较短,但可读性较差,不太适合在实际项目中使用。

除了整数类型以外,其他类型也是可以的,使用类似的方式实现

标签:map,fmt,使用,go,三元,表达式
From: https://www.cnblogs.com/sin3degree/p/17348489.html

相关文章

  • Django4全栈进阶之路13 template模板
    在Django4中,模板是用于生成HTML响应的文件。模板将动态数据和静态HTML组合在一起,以便最终呈现给用户的页面。Django4中的模板使用Django模板语言(DjangoTemplateLanguage,简称DT)编写。DT与HTML类似,但包含一些特殊的标记和语法,用于动态地生成HTML内容。以下是一......
  • 记录一次nodejs操作mongodb报错
    记录一次使用Mongoose操作mongodb报错Mongoose查询回调函数报错BookModel.findOne({name:'Rust'},(err,data)=>{if(err){console.log('读取失败');return;}//输出data变量的值console.log(data);......
  • golang中sync.Pool的使用示例
    先上代码:packagemainimport( "fmt" "sync")varpoolsync.Pooltypepersonstruct{ Namestring Ageint}funcinit(){ pool=sync.Pool{New:func()any{ returnnew(person) }}}funcmain(){ p:=pool.Get().(*person) p......
  • Golang实现TCP端口扫描器
    简易版packagemainfuncworker(ports,resultschanint){forp:=rangeports{address:=fmt.Sprintf("bilibili.com:%d",p)conn,err:=net.Dial("tcp",address)iferr!=nil{result<-0conti......
  • Google Guava常用的代码示例
    GoogleGuava谷歌出品的,非常实用。包含集合、并发、I/O、散列、缓存、字符串等。依赖:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version></dependency>JoinerJoiner可以连接字符串。常用方法:Joine......
  • Django4全栈进阶之路11 view视图
    在Django4中,视图(View)是一个处理请求并返回响应的Python函数或类的组合。视图函数通常是处理请求的主要逻辑,因此它是DjangoWeb应用程序的重要组成部分。视图函数的基本结构如下:fromdjango.httpimportHttpResponsedefmy_view(request):#处理请求的代码r......
  • Django4全栈进阶之路9 url路由设置
    在Django4中,可以在主路由文件中设置和管理子路由。通常,我们会为每个应用程序创建一个子路由文件,以便更好地组织代码和管理路由。以下是Django4中设置主路由和子路由的示例:首先,在主路由文件urls.py中导入子路由,并将其添加到urlpatterns中:#urls.pyfromdjango.urls......
  • codeforces 264B B. Good Sequences(dp+数论)
    题目链接:codeforces264B题目大意:给出n个数,利用这n个数构造一个好的序列,好的序列是单调增的,而且序列中相邻的两个元素都不互质,问最长的好序列的长度是多少。题目分析:首先我们定义状态dp[i]表示当前的数进行构造的序列末尾的数的质因数包含i的时候的最长的情况。然后我们从小到大枚......
  • Mysql - Gorm Updates的坑
    //如果单个属性被更改了,更新它db.Model(&user).Update("name","hello")////UPDATEusersSETname='hello',updated_at='2013-11-1721:34:10'WHEREid=111;//使用组合条件更新单个属性db.Model(&user).Where("active=?",true).U......
  • Django4全栈进阶之路8 STATIC静态文件路径设置、MEDIA媒体文件路径设置
     在Django4中,可以在settings.py文件中设置STATICFILES_DIRS来指定应用程序静态文件所在的文件夹路径,设置STATIC_ROOT来指定收集所有应用程序静态文件的目标文件夹路径。例如:#settings.pySTATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),]STATIC_ROO......