mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 16:50:58 +00:00 
			
		
		
		
	
		
			
	
	
		
			39 lines
		
	
	
	
		
			769 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
	
		
			769 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | // asmcheck | ||
|  | 
 | ||
|  | // Copyright 2018 The Go Authors. All rights reserved. | ||
|  | // Use of this source code is governed by a BSD-style | ||
|  | // license that can be found in the LICENSE file. | ||
|  | 
 | ||
|  | package codegen | ||
|  | 
 | ||
|  | // This file contains code generation tests related to the handling of | ||
|  | // map types. | ||
|  | 
 | ||
|  | // ------------------- // | ||
|  | //     Access Const    // | ||
|  | // ------------------- // | ||
|  | 
 | ||
|  | // Direct use of constants in fast map access calls (Issue #19015). | ||
|  | 
 | ||
|  | func AccessInt1(m map[int]int) int { | ||
|  | 	// amd64:"MOVQ\t[$]5" | ||
|  | 	return m[5] | ||
|  | } | ||
|  | 
 | ||
|  | func AccessInt2(m map[int]int) bool { | ||
|  | 	// amd64:"MOVQ\t[$]5" | ||
|  | 	_, ok := m[5] | ||
|  | 	return ok | ||
|  | } | ||
|  | 
 | ||
|  | func AccessString1(m map[string]int) int { | ||
|  | 	// amd64:`.*"abc"` | ||
|  | 	return m["abc"] | ||
|  | } | ||
|  | 
 | ||
|  | func AccessString2(m map[string]int) bool { | ||
|  | 	// amd64:`.*"abc"` | ||
|  | 	_, ok := m["abc"] | ||
|  | 	return ok | ||
|  | } |